作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
NancyFX 是否支持 ASP.NET MVC,例如“Catch All”路由?我需要一个,基本上匹配每个 URL。这对于构建单页应用程序非常方便。
那可能吗?
最佳答案
Tested in Nancy version 0.23.2
Get[@"/(.*)"]
对我来说不是一条万能路线。路线 "/" , "/foo/bar" ,更长的路线不会 catch 。似乎没有必要定义一个 Get["/"]
根 URL 的路由。似乎没有其他东西能捕获它(试过 Get["{uri*}"]
)。这是我最终定义路由的方式(请记住,我是为 Angular 应用程序执行此操作):
Get["/views/{uri*}"] = _ => { return "A partial view..."; };
Get["/"] =
Get["/{uri*}"] = _ =>
{
var uri = (string)_.uri;// The captured route
// If you're using OWIN, you can also get a reference to the captured route with:
var environment = this.Context.GetOwinEnvironment();// GetOwinEnvironment is in the 'Nancy.Owin' namespace
var requestPath = (string)environment["owin.RequestPath"];
return View["views/defaultLayout.html"];
};
0
即使
/views/{uri*}
路由模式也是一个包罗万象的东西,它以文字开头,加权
10000
,因此它将在所有以/views 开头的路由上胜出。
uri
变量和
requestPath
会略有不同。
requestPath
将以
/
开头其中
uri
变量不会。此外,如果匹配的路由模式是
Get["/"]
,
uri
将是
null
和
requestPath
将是
"/"
.
关于url-routing - NancyFX Catch All 路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12679553/
我是一名优秀的程序员,十分优秀!