为什么OPTIONS请求不会到达我的ASP.NET应用程序?

时间:2011-07-11 20:47:23

标签: asp.net iis iis-6 httpverbs

我似乎无法在IIS6托管的ASP.NET应用程序中收到HTTP OPTIONS请求。我正在我的Global.asax的{​​{1}}方法中使用调试断点(和文件日志)对其进行测试。断点永远不会被命中,客户端获取HTTP 403 Forbidden,我假设直接从IIS6(Application_BeginRequest s和GET s工作正常btw)。

我在POST中尝试过多项内容,包括将以下行添加到web.config<system.webServer><handlers>部分中。

<system.web><httpHandlers>

我还使用了<add name="OptionsHandler" verb="OPTIONS" path="*" type="System.Web.DefaultHttpHandler"/> 设置和<system.webServer><security><requestFiltering><verbs>以及allowUnlisted="true"

另外,我没有使用URLScan或任何其他可能拦截调用的工具。如果您对IISLogs感兴趣:

<add verb="OPTIONS" allowed="true"/>

有没有办法在ASP.NET应用程序中接收2011-07-11 20:26:05 W3SVC1215124377 127.0.0.1 OPTIONS /test.aspx - 80 - 127.0.0.1 Mozilla/5.0+(Windows+NT+5.2;+rv:5.0)+Gecko/20100101+Firefox/5.0 403 1 0 请求?

1 个答案:

答案 0 :(得分:5)

对于IIS6,您必须在管理控制台中显式启用OPTIONS谓词,并且还需要将其映射为由ASP .NET进行手动处理。只有这样,您才能在<system.web>中注册处理程序并获得ASP .NET处理的请求。

(注意,<system.webServer>设置仅适用于IIS7。)