ASP.Net中给出403错误的WebResource.axd使用IIS7发布邮件

我在Windows 2008服务器上安装了一个ASP.Net网站,默认使用IIS7。 该网站似乎工作正常,但在我的表格上的post不起作用。 经过几个小时的debugging,我意识到,当我手动尝试打我的浏览器中的WebResource.axd文件(例如,我在地址栏中键入http://www.domain.com/WebResource.axd ),我得到HTTP 403错误(访问被拒绝)。

我不太确定接下来要看什么,而且我的Windows 2008安全知识是有限的。 我如何去访问该文件?

Solutions Collecting From Web of "ASP.Net中给出403错误的WebResource.axd使用IIS7发布邮件"

导航到您的iis配置文件夹。 通常:c:\ windows \ system32 \ inetsrv \ config并打开applicationHost.config文件。 然后在文件内导航到<handlers>部分并检查是否存在以下行:

 <add name="AssemblyResourceLoader-Integrated" path="WebResource.axd" verb="GET,DEBUG" type="System.Web.Handlers.AssemblyResourceLoader" preCondition="integratedMode" /> 

那就是如果你在集成模式下运行。 检查是否指定了动词GET。

如果您正在以传统管道模式运行,则应该显示此行

 <add name="AXD-ISAPI-2.0" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="Isapimodulee" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> 

如果一切似乎都没有问题,可以在Handlers and modulees部分查看web.config,看看是否在每个顶部添加了<clear /> 。 如果你这样做,那么你的web.config文件中包含了add部分,这个部分是关于applicationHosting.config文件中指定的处理程序/模块的顺序。

检查你的IIS日志 – 他们应该给出一个状态代码,更详细的错误信息。 另外,回发中的错误的性质是什么?

这是我在回发时收到的错误:

WebForm_PostBackOptions是未定义的。

据我所知,函数被包含在WebResource.axd文件中,这导致我在地址栏中尝试它,我怎么知道403错误…

不知道那个,但它可能与IIS中的http压缩有关。 同时检查该文件是否可以被IIS用户访问。