我正在使用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/