我有一个设置了许多路由的自托管应用程序。与其遍历每一个并将路由更改为现有路由的/api/<route>
位置<route>
,我想知道是否可以/api
在启动应用程序时为每条路由添加前缀?我通过将其设置在 IIS 托管环境中知道它是可能的,web.config
但我不确定它是否可能在自托管环境中?
问问题
675 次
2 回答
5
@EliGassert 的答案适用于 ServiceStack v4 自托管应用程序。这是在 ServiceStack v3 自托管应用程序中更改所有路由的基本路径的要求。
服务栈 v3:
在您的 AppHostConfigure
方法中,您需要设置ServiceStackHanderFactoryPath
为所需的前缀。
public override void Configure(Container container)
{
SetConfig(new EndpointHostConfig {
ServiceStackHandlerFactoryPath = "api"
});
}
当你设置你的监听器时,你还必须附加前缀:
appHost.Start("http://*:9000/api/");
希望有帮助。
于 2014-05-14T11:07:14.333 回答
4
根据这篇 ServiceStack 文章,您只需要通过配置进行设置,如下所示:
public override void Configure(Container container)
{
SetConfig(new HostConfig { HandlerFactoryPath = "api" });
}
将其与Mythz的这个答案结合起来,您就可以在以下位置获得一个自托管应用程序/api/
:
_apphost.Start("http://localhost:1337/api/");
注意:这似乎适用于自托管 API,但随后无法提供其剃须刀页面。所以这不太对。不过,暂时留下答案,直到找到完整的解决方案。
于 2014-05-12T14:47:07.050 回答