我们创建了自己的重定向httpHandler,它接受所有请求(verb =“*”,path =“*”):
<system.webServer>
<handlers>
<remove name="Redirect" />
<add name="staticFileHandler" path="*.html" type="System.Web.StaticFileHandler" verb="GET,HEAD" />
<add name="Redirect" path="*" verb="*" type="RedirectModule.RedirectHandler,
RedirectModule, Version=1.0.0.0, Culture= neutral, publicKeyToken=77c8b6b494e19eeb" resourceType="Unspecified" preCondition="integratedMode" />
</handlers>
</system.webServer>
在http处理程序中,我们有代码检查URL,如果浏览器是移动的,则重定向。在这种情况下,如果浏览器不是移动设备或我们已经重定向,我们希望继续执行静态文件并显示其内容。
我们遇到的问题是因为我们使用的http处理程序接受所有请求,StaticFileHandler不处理HTML文件,我们总是得到一个白屏。
我们如何通过代码或web.config将执行从httphandler传递给staticFileHandler。
感谢任何帮助。
奥里特
答案 0 :(得分:3)
处理程序应该只决定如何处理文件扩展名(物理或逻辑),而 时。我认为你打算创建一个模块。
请参阅Jon Galloway的this回答和this MSDN关于处理程序和模块的文章。
编辑:另外,请查看ASP.NET/Mobile的第一个操作方法。它展示了如何在Web窗体和MVC中完成此任务。