ServiceStack:更改自托管应用程序中所有路由的基本路径

Cal*_*ass 1 servicestack servicestack-bsd

我有一个自托管应用程序,其中设置了许多路由.而不是通过每一个去和改变路线是/api/<route>其中<route>在现有的路线,我在想,如果我可以用前缀每条路线/api的时候,我开始申请?我知道它可以在IIS托管的环境中设置它web.config但我不确定它是否可能在自托管环境中?

Sco*_*ott 5

@ EliGassert的答案适用于ServiceStack v4自托管应用程序.这是更改ServiceStack v3自托管应用程序中所有路由的基本路径的要求.

ServiceStack v3:

在AppHost Configure方法中,您需要设置ServiceStackHanderFactoryPath所需的前缀.

public override void Configure(Container container)
{
    SetConfig(new EndpointHostConfig {
        ServiceStackHandlerFactoryPath = "api"
    });
}
Run Code Online (Sandbox Code Playgroud)

设置监听器时,还必须附加前缀:

appHost.Start("http://*:9000/api/");
Run Code Online (Sandbox Code Playgroud)

希望有所帮助.