为什么我的生产服务器上的所有.axd文件都会生成404错误?
答案 0 :(得分:15)
如果你在IIS7上,请确保将处理程序添加到<system.webServer><handlers>
部分:
<add name="MyName" path="MyName.axd" verb="*" type="NameSpace.Class, Assembly" />
答案 1 :(得分:7)
在我的情况下,我使用自动转换从.NET 2.0传输项目。 Converter添加了<system.webServer>
部分以及<system.web>
中的所有处理程序和模块。但是,对于每个处理程序,它添加了以下属性: preCondition =“integratedMode,runtimeVersionv2.0”
删除属性后,404s停止,处理程序开始工作。
答案 2 :(得分:6)
您需要在IIS中为该扩展程序创建MIME类型:
要为特定扩展名定义MIME类型,请按以下步骤操作:
答案 3 :(得分:4)
在Request Filtering
确认您
*将.axd
作为允许的扩展名,或
*在编辑请求过滤设置
Allow unlisted file name extensions
使用以下web.config部分可以实现相同的效果:
<system.webServer>
<security>
<requestFiltering>
<fileExtensions>
<add fileExtension=".axd" allowed="true" />
</fileExtensions>
</requestFiltering>
</security>
</system.webServer>
答案 4 :(得分:3)
您可以查看以下内容:
<system.web><httpHandlers>
中。对于IIS7集成模式,它应该在<system.webServer><handlers>
。答案 5 :(得分:2)
前一段时间我们的生产服务器上有错误500(不是404,但是谁知道)。没有脚本资源可以加载。
问题在于我们的开发和生产服务器之间的时差。这是-7小时。 .NET引发了一个异常,因为它试图使用嵌入式脚本资源的程序集的“未来时间”。
逐日减少{website}/bin/
文件夹(实际上是其中的程序集)创建日期解决了这个问题。
答案 6 :(得分:0)
您是否可以提出失败的“错误”请求,然后检查服务器的系统和应用程序事件日志?
围绕axd的几个问题可能会导致404或500(例如Alex提到的“未来时间”问题),但它们会在事件日志中留下足迹。
查看并发布任何提及裁判的日志条目。
答案 7 :(得分:0)
我在 system.webServer 部分的模块 ..节点中添加了 runAllManagedModulesForAllRequests =“true”属性,404s已停止且处理程序开始工作了。
答案 8 :(得分:0)
如果这对任何人有帮助,我也有同样的问题,我们很少有人花2天时间。在3台服务器上,一切正常,在开发过程中,但在此服务器上404不停。解决方案,我将poold从集成改为经典,并且有效。