我正在使用 Web.Routing 做一些工作,使用它来获得友好的 url 和类似于站点的类似 Rest 的界面,该站点基本上由单个 IHttpHandler 呈现。没有网络表单,处理程序生成所有 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。