我使用.NET創建REST服務,並使用通用處理程序Default.ashx處理傳入請求。這允許我使用諸如「http:// rest/test」之類的方法訪問服務而沒有問題。但是,當添加文件擴展名時,IIS不再重定向請求,而是查找文件。 web.config如何修改,以便像http://foo/test.xml和http://foo/test.json這樣的URL請求也由DefaultHandler.ashx處理?我之前做過這件事,所以知道它可能但不記得配置。使用默認處理程序與.NET進行REST
2
A
回答
1
你可以在我的HttpClone應用程序的web.config中看到這個例子。它的主要內容包括對您不希望這樣的擴展刪除處理程序:
<system.webServer>
...
<handlers accessPolicy="Read, Script">
<clear />
<add name="Favorite-Icon" path="/favicon.ico" verb="GET,HEAD" modules="StaticFileModule" resourceType="File" requireAccess="Read" />
<add name="HttpClone" path="*" verb="GET,HEAD,POST,DEBUG" type="Namespace.MyCustomHandler, AssemblyName" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
</handlers>
這是說使用自定義的處理程序進行,除了「/favicon.ico」所有的URI的所有請求。如果您仍然需要使用'Default.ashx',那麼您需要獲取ashx類型的處理函數,並將其映射爲像這樣處理所有路徑。通常,雖然不需要ashx擴展處理程序,但只需在任何程序集中實現IHttpHandler並在上面的'type'屬性中引用它。
請注意,cassini web服務器(VStudio中的測試服務器)不會將缺省目錄'/'映射到您的處理程序。爲了解決這個卡西尼問題,你需要一個default.aspx文件來存在(雖然它可以是空的)。
注2 - 上述配置僅適用於集成模式,對於經典模式,概念相同,但設置位於不同位置。
相關問題
- 1. 默認的.NET異常處理程序
- 2. 執行默認信號處理程序
- 3. 調用UINavigationController的默認處理程序
- 4. .NET MVC - JavaScript的默認.onError處理程序?
- 5. firefox不觸發默認處理程序
- 6. 默認處理程序在設計
- 7. 如何替換默認處理程序
- 8. xmlrpc apache - 如何默認處理程序
- 9. rails使用MetaSearch進行默認排序
- 10. 如何從事件處理程序中調用默認處理程序
- 11. 在默認行爲後執行的Javascript事件處理程序
- 12. 與SubSonic的REST處理程序聯合
- 13. 使用GetEventMonitorTarget()時抑制默認事件處理程序
- 14. 如何使用shell的默認處理程序打開文件?
- 15. 集的mailto默認處理程序使用javascript
- 16. 騾子總是使用默認的異常處理程序
- 17. 如何使用DJNativeSwing配置默認URL/HTTP處理程序
- 18. .net Listbox不會用JavaScript事件處理程序進行編譯?
- 19. Angular:自定義事件處理程序和默認處理程序的順序
- 20. Visual Studio與#Develop - 默認事件處理程序
- 21. 對WPF應用程序使用winforms默認異常處理程序
- 22. 執行32位和64位mshta.exe(繞過默認處理程序)
- 23. .NET遠程處理與SOA
- 24. 用C#.NET進行字符串處理
- 25. 使用批處理程序進行地理編碼
- 26. .Net Remoting不使用.Net遠程處理?
- 27. 取消訂閱事件處理程序C#,使用默認處理程序代替
- 28. 使用承諾進行順序處理
- 29. 使用C#.net程序進行登錄
- 30. 正在處理 - 更改默認應用程序圖標
什麼版本的IIS? – SLaks 2011-12-19 21:47:03
Windows 2008 R2上的IIS 7 – user1106748 2011-12-19 21:56:34