asp.net - 为什么 OPTIONS 请求未到达我的 ASP.NET 应用程序?

标签 asp.net iis iis-6 http-verbs

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

我在 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"<add verb="OPTIONS" allowed="true"/> .

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

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

有办法接收 OPTIONS ASP.NET 应用程序中的请求?

最佳答案

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

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

关于asp.net - 为什么 OPTIONS 请求未到达我的 ASP.NET 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6656354/

相关文章:

c# - 为什么此Microsoft单元测试失败?

Facebook 登录 - 如何在本地主机和生产环境中进行开发?

c# - 是否可以使用 Response.Redirect 附加 header ?

perl - Archive::Zip、EBook::Epub 和 IIS6 - "desiredCompressionLevel"错误

iis - 每个 sc-win32-status 代码表示什么?

asp.net - 字符串变量日期在 C# 中加倍

javascript - 如何检查使用 JQuery 的 AJAX 调用的 ResultSet 是否有值(value)

c# - 如何将动态对象传递给 HtmlHelper.Editor()?

IIS压缩

iis - 在 IIS 8+ 中的单个网站上绑定(bind)多个 SSL