今天我很头疼,为什么在升级到最新的 servicestack 和 servicestack.razor 后,我的 Web 服务路由停止工作。所以我做了以下测试。
- 在 vs.net 2012 中创建了一个新的空 web 项目
- 从 rockstar 添加了 web.config 文件
- 通过 nuget 添加 servicestack 和 razor
- 添加了 apphost 和 global.asa
- 在我的 configure() 中我没有添加任何东西 - 没有插件。
- 添加了一个指定路由的简单回声服务
此时一切正常,我单击路由的 url 并取回我的回显结果
- 将行添加到配置以添加 RazorFormat 插件
现在路由不起作用,从服务返回后,我得到 404(找不到文件)回显数据。我可以为该服务创建一个视图,然后一切正常,但是默认显示发生了什么?
谢谢马克
我尝试对开箱即用的 servicestack 示例做同样的事情并得到相同的结果
从 servicestack 中提取样本 – RootPath40 + Common 并将它们包含在单独的解决方案中
已编译并且可以工作
示例使用的当前版本的 servicestack 是 3.9.11.0
运行以下内容以更新 servicestack 并在解决方案中的两个项目上安装 razor,以便我获得最新的 3.9.45
安装包服务堆栈
安装包 servicestack.razor
测试 - 工作正常!!!。我正在使用路由 Hello -> localhost/RootPath40/hello 专门测试 Hello 服务
向 Global.asax.cs 添加 1 行 – 配置函数
public override void Configure(Container container)
{
container.Register(new TodoRepository());
**Plugins.Add(new RazorFormat());**
}
- 现在路由 hello 不再起作用了,因为我收到错误 404 not found。
我正在使用 vs.net 2012 和 windows 8
我确定我错过了一些非常微不足道的东西,任何人都知道......
谢谢
经过一番挣扎后,我看到如果我添加对System.Web.Razor.Unofficial.dll的引用,则提供剃刀页面但路由的 Web 服务停止工作,在我删除引用的那一刻,Web 服务路由 URL 很好,但剃刀页面不送达。
我错过了什么?