【问题标题】:ASP.NET MVC How to serve content without cookies (Azure)?ASP.NET MVC 如何在没有 cookie 的情况下提供内容(Azure)?
【发布时间】:2016-07-07 01:38:38
【问题描述】:
我想遵循 YSlow 的建议,从无 cookie 的子域提供静态内容。我对如何在 ASP.NET MVC 和 Azure 上下文中实现这一点感到困惑。
我是否必须在 Azure 门户中创建新的应用服务(或 Web 应用?)?或者我可以使用我当前的应用程序服务(或 Web 应用程序?)并告诉一些文件夹是无 cookie 的,还是什么?然后与我的注册商建立一个 CNAME 记录,将 static.example.com 指向究竟是什么?
另外,考虑到 MVC 捆绑包并缩小它,我将如何从 static.example.com 提供我的 css 文件?
【问题讨论】:
标签:
asp.net
asp.net-mvc
azure
cookies
cookieless
【解决方案1】:
在 ASP MVC 中,您创建捆绑包,在运行时,捆绑包中的所有文件都合并为一个,现在,如果您想激活压缩,请按照以下步骤操作。
通过在 Web.config 文件的编译元素中设置调试属性的值来启用或禁用捆绑和缩小。在以下 XML 中,debug 设置为 true,因此禁用了捆绑和缩小。
<system.web>
<compilation debug="true" />
<!-- Lines removed for clarity. -->
</system.web>
要启用捆绑和缩小,请将调试值设置为“false”。您可以使用 BundleTable 类的 EnableOptimizations 属性覆盖 Web.config 设置。以下代码启用捆绑和缩小并覆盖 Web.config 文件中的任何设置。
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js"));
// Code removed for clarity.
BundleTable.EnableOptimizations = true;
}
很好,如果您的目标是加快网站速度并且您正在使用 Azure,我认为最好的解决方案是 create a CDN。