日期:2014-05-18  浏览次数:20399 次

ASP.Net4.0 WebForm路由求助
环境是ASP.Net4.0 WebForm,Win7的IIS集成模式
我路由是
routes.MapPageRoute("Aclass",
  "{Aclass}/{Aid}.html",
  "~/Article.aspx");
http://127.0.0.1/jishu/1.html出现404找不到物理路径的错误
把路由改成routes.MapPageRoute("Aclass",
  "{Aclass}/{Aid}_html",
  "~/Article.aspx");
http://127.0.0.1/jishu/1_html是可以的。也就是把.html的.改成其他符号路由就可以了。唯独是.不行。

------解决方案--------------------
你可以这样测试
把.html扩展名,映射到asp.net处理程序去处理,静态文件直接由IIS返回了,
------解决方案--------------------
也就是处理程序映射
http://technet.microsoft.com/zh-cn/library/cc771240%28v=ws.10%29.aspx


IIS中处理程序映射-->
添加脚本映射(路径:*.html 可执行文件%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll 名称:任意,比如Hml )
添加通配符脚本映射(路径:* 可执行文件:C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll 名称:任意,比如All)
托管处理程序映射(路径:* 可执行文件:System.Web.UI.PageHandlerFactory 名称 任意 比如Html-Integrate)-------->
IIS中 模块-->添加---->(名称:任意 如All 类型:URLRewriter.ModuleRewriter 把 仅针对向asp.net 应用程序或托管处理程序发出请求调用 勾上 ok )