我正在使用ServiceStack开发REST api,并且默认重定向到元数据页面时遇到了麻烦。我已将该服务发布到公共(public)IIS7服务器上的虚拟文件夹“myservice”。

URL“http://mydomain/myservice/whatever”按设计工作,“http://mydomain/myservice/metadata”显示元数据页面(带有正确的链接URL)。

问题是,当访问“http://mydomain/myservice”时,它将重定向到“http:// localhost /myservice/metadata”,
而不是“http:// mydomain /myservice/metadata”。

如何配置元数据网址?

最佳答案

ServiceStack中,您可以通过在AppHost.Configure()中指定它来指定用于所有重定向的baseUrl:

SetConfig(new HostConfig {
    WebHostUrl = "http://mydomain/",
});

覆盖已解析的URL

您可以通过覆盖AppHost中的ResolveAbsoluteUrl()来覆盖ServiceStack解析绝对URL的方式,例如:
public class AppHost : AppHostBase
{
    //...

    public override string ResolveAbsoluteUrl(string virtualPath, IRequest req)
    {
        virtualPath = virtualPath.SanitizedVirtualPath();
        return req.GetAbsoluteUrl(virtualPath);
    }
}

关于metadata - 指向ServiceStack元数据页面的默认URL错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14521116/

10-17 00:54