ServiceStack ToPostUrl() 扩展方法忽略虚拟目录

ServiceStack ToPostUrl() extension method ignores virtual directories

我在 Visual Studio 2015 年使用 ServiceStack.Razor C# 进行一个小型内部项目,并且正在从示例项目中学习(学习)。作为我开发的一部分,我将所有网站和 api 等托管在虚拟目录中,而不是

localhost/hello

我有

localhost/SomeProject/hello

但是问题是,一旦剃刀从虚拟目录 /SomeProject/ 交付,ToPostUrl() 扩展方法会创建一个绝对路径,因此逻辑失败:

<form action="@(new Hello().ToPostUrl())">

结果

<form action="/hello"> 

提交表单时中断重定向。处理这个问题的正确方法是什么?虚拟目录似乎不是一个特别不寻常的用例?

谢谢

ServiceStack 的反向路由仅解析来自 ServiceStack 的路由定义的路径。

您需要在路由之前包含任何自定义 paths/virtual 目录的前缀,其中 ServiceStack 安装在该目录中。