【发布时间】:2012-09-10 19:32:43
【问题描述】:
我正在使用 Web.Routing 进行一些工作,使用它来提供友好的 URL 和类似 Rest 的类似站点的界面,该站点基本上由单个 IHttpHandler 呈现。没有 web 表单,处理程序生成所有 html/json 并将其作为流程请求的一部分写入。
这适用于例如 /Sites/Accounting 之类的东西,但我无法让它适用于站点根目录,即“/”。
我尝试使用“default.aspx”(这是我保存在根文件夹中的空 aspx 文件,以便与 cassini 和 iis 配合使用)注册一个带有空字符串的路由。我将 RouteExistingFiles 显式设置为 false,但无论我在点击根 url 时做什么,它仍然会打开 default.axpx,它没有继承的代码,并且包含一个简单的 h1 标记来表明我已经点击了它。
我不想更改默认文件以重定向到所需的路由,我只想在找不到其他路由时应用相当于“默认”路由,类似于 MVC。
作为参考,该站点的先前版本没有使用 Web.Routing,但在 web.config 中引用了一个处理程序,该处理程序完全能够拦截对 root 或 default.aspx 的请求。
规格:ASP.NET 3.5sp1、C#、无网络表单、MVC 或 openrasta。普通的旧 IHttpHandlers。
【问题讨论】:
标签: asp.net ihttphandler system.web.routing