我正在试用 ServiceStack,并从 Github 克隆了 RazorRockstars 示例。
如果我在 Visual Studio 2012 中打开并启动RazorRockstars.WebHost
项目,它在 VS 开发服务器中运行良好。
如果我随后将项目更改为使用 IIS Express 8,则死/活菜单中的 URL 将不再正常工作。
事实证明,菜单中的链接指向没有斜杠的目录名称:http://localhost:2000/stars/alive/vedder
,并且在执行时,服务器将返回 a302
并重定向到http://localhost:2000/stars/alive/vedder/
(注意尾部斜杠),之后一切正常。
然而,在 IIS Express 中,不会发生这种重定向,并且浏览器中的 url 仍然没有斜杠,这反过来又会破坏页面。
然而,有趣的部分是default.cshtml
页面将从目录执行,但包含的部分content.md
不会。看起来 SS 似乎知道这是一个文件夹,并且会正确查找default.cshtml
,但后来不知何故无法查找content.md
部分。
这是 SS 实现的错误还是预期的行为?301
在这种情况下,ServiceStack 本身返回 a 可能是有意义的。