我使用.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. xmlrpc apache - 如何默认处理程序
- 6. firefox不触发默认处理程序
- 7. rails使用MetaSearch进行默认排序
- 8. 与SubSonic的REST处理程序联合
- 9. 使用GetEventMonitorTarget()时抑制默认事件处理程序
- 10. 如何使用shell的默认处理程序打开文件?
- 11. 集的mailto默认处理程序使用javascript
- 12. Angular:自定义事件处理程序和默认处理程序的顺序
- 13. Visual Studio与#Develop - 默认事件处理程序
- 14. .net Listbox不会用JavaScript事件处理程序进行编译?
- 15. 对WPF应用程序使用winforms默认异常处理程序
- 16. 执行32位和64位mshta.exe(绕过默认处理程序)
- 17. .NET远程处理与SOA
- 18. 用C#.NET进行字符串处理
- 19. Javascript:调用默认的keydown事件处理程序
- 20. 更改用户控件的默认事件处理程序
- 21. 从自定义处理程序中调用默认的asp.net HttpHandler
- 22. 使用Kinect进行线程处理
- 23. 用java获取进程ID默认执行程序
- 24. .Net Remoting不使用.Net远程处理?
- 25. 使用外部程序进行多处理 - 执行速度
- 26. 使用.net更改IIS7中的默认应用程序池?
- 27. 存储过程中的复杂处理与.NET应用程序
- 28. 在Flask应用程序中使用gunicorn进行多处理
- 29. 使用SORT实用程序进行数据处理
- 30. 使用MVC应用程序进行异常处理
什么版本的IIS? – SLaks 2011-12-19 21:47:03
Windows 2008 R2上的IIS 7 – user1106748 2011-12-19 21:56:34