iis-7 – 捆绑不适用于映射的虚拟目录
我们有一个网站,其中CSS和
JavaScript分别捆绑到/ Content /和/ Scripts /目录中.这两者也是单独域中虚拟目录的映射目标,用于静态资源(因此不提供cookie).
问题是在我们的生产环境中,汇编 – > debug设置为false(因此启用了捆绑和缩小),相对URL工作正常并从捆绑系统提供服务,但静态域URL(使用指向同一位置的虚拟目录)会产生HTTP 404错误. 有没有办法配置IIS以允许捆绑适用于此虚拟目录的内容?我有必要为静态域创建一个单独的虚拟MVC项目,以便它识别捆绑,但是想看看是否有更好的解决方案. 这是IIS的当前处理顺序似乎是: >接收(捆绑)资源的传入请求,例如[静态域名] /Content/all.css 由于此文件实际上不存在于文件系统上,因此会引发HTTP 404.理想情况下,步骤2应在步骤3之后运行. 非常感谢. 解决方法
我做了一些实验并设法解决它.什么不起作用是将静态站点的根指向主网站的同一根,因为web.config文件是共享的 – 对静态站点所做的任何更改(即禁用会话状态)也应用于主站点网站.
最后,有效的是: >让静态域指向文件系统上的单独根文件夹. > IIS中指向主网站上的/ bin /文件夹的虚拟目录将不起作用. >在IIS中,确保静态站点使用自己的应用程序池,并为.NET 4.0,集成管道模式配置它.这样MVC 4捆绑将起作用. 这是静态站点的web.config: <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.web> <customErrors mode="Off"> </customErrors> <sessionState mode="Off" /> <pages enableSessionState="false" enableViewState="false" enableViewStateMac="false" renderAllHiddenFieldsAtTopOfForm="false" /> </system.web> <system.webServer> <validation validateIntegratedModeConfiguration="false" /> <modules runAllManagedModulesForAllRequests="true"> <remove name="ScriptModule" /> <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule,System.Web.Routing,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35" /> </modules> <urlCompression doStaticCompression="true" doDynamicCompression="true" /> <security> <requestFiltering allowDoubleEscaping="True" /> </security> <tracing> <traceFailedRequests> <add path="*"> <traceAreas> <add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" /> </traceAreas> <failureDefinitions timeTaken="00:00:00" statusCodes="200" /> </add> </traceFailedRequests> </tracing> <!-- Cache static content for a month,only enable on UAT or Live --> <staticContent> <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="30.00:00:00"/> </staticContent> </system.webServer> </configuration> 主要思想是捆绑需要在静态站点上启用并运行ASP.NET MVC4,因为在考虑虚拟目录之前,IIS会对捆绑进行评估(并且似乎没有办法解决此问题). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 在.NET .NET中ctl00是常量吗?
- asp.net-mvc – Razor如何创建一个CheckBox并使其
- asp.net-mvc – .NET MVC不显眼的验证和自定义模
- asp.net – Visual Studio 2012:无法附加进程.已
- asp.net-mvc – Telerik MVC Grid,从自定义命令删
- asp.net-mvc – MvcMailer SendAsync阻止ASP.NET
- asp.net – Visual Studio发布/或构建解决方案ZI
- 实体框架 – ASP.NET Identity Model First因重命
- asp.net-mvc-3 – ASP.NET MVC 3书籍计划
- ASP.Net:动态创建的下拉列表和数据源