gpt4 book ai didi

asp.net-mvc - asp.net MVC Url.Content() CDN 重定向

转载 作者:行者123 更新时间:2023-12-01 20:20:55 25 4
gpt4 key购买 nike

我想知道是否有一种简单的方法可以为我在 View 中通过 Url.Content 引用的所有内容指定 CDN。

我可以通过类似于以下的方式在 Web.config 文件中配置一些内容。

    <cdn>
<add filetype="css" root="http://mycdn.mydomain.com/stylesheets/" />
<add filetype="js" root="http://myjscdn.mydomain.com/js/ />
</cdn>

然后,我可以只使用 <%= Url.Content("~/Content/StyleSheets/What.css") %> ,它会输出 http://mycdn.mydomain.com/stylesheets/Content/StyleSheets/What.css .

如果没有可用的,我会通过扩展方法自己完成,但我想知道是否可以开箱即用。

最佳答案

上面的答案可能是正确的,下面是它在实践中的样子:

// @ UrlHelperExtensions.cs

public static class UrlHelperExtensions
{
public static string CdnContent(this UrlHelper helper, string contentPath)
{
return (ConfigurationManager.AppSettings["CDN_Available"] == "True")
? ConfigurationManager.AppSettings["CDN_ContentRootUrl"]
+ contentPath.TrimStart('~')
: helper.Content(contentPath);
}

// @ Web.config

<appSettings>
// ...
<add key="CDN_Available" value="True" />
<add key="CDN_SiteImageRoot" value="http://cdn.gbase.com/images/" />
// ...
</appSettings>

// @ MyPage.cs

<link href="@Url.CdnContent("~/client/css/mymin.css")" rel="stylesheet" type="text/css" media="all" />

我认为这是可行的..您还可以使用多种扩展方法来隔离本地服务和 CDN 上的内容。不过,配置不要求位于 web.config 中,只是对开发和使用有用管理。

关于asp.net-mvc - asp.net MVC Url.Content() CDN 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2006982/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com