2011-07-11 29 views
5

我似乎無法在IIS6託管的ASP.NET應用程序中收到HTTP OPTIONS請求。我正在使用我的Global.asaxApplication_BeginRequest方法中的調試斷點(和文件日誌)對其進行測試。斷點從來沒有命中,客戶端得到一個HTTP 403 Forbidden,我從IIS6直接假設(GET s和POST的工作很好順便說一句)。爲什麼OPTIONS請求不會到達我的ASP.NET應用程序?

我試過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 

有沒有辦法接受在ASP.NET應用程序OPTIONS要求?

回答

5

對於IIS6,您必須在管理控制檯中明確地啓用OPTIONS謂詞,並且還需要將其映射爲由ASP .NET處理。只有這樣,您才能在<system.web>中註冊您的處理程序,並獲取由ASP .NET處理的請求。

(注意,<system.webServer>設置僅適用於IIS7)。

+0

如何在管理控制檯中明確啓用它? –

+3

找到了!您必須明確地允許Web中的每個映射的動詞 - >屬性 - >主目錄 - >配置... - >映射。 THX –

+0

對於MVC,您可能需要執行一些更多配置:http://blog.stevensanderson.com/2008/07/04/options-for-deploying-aspnet-mvc-to-iis-6/ –

相關問題