我正在使用ServiceStack开发REST,默认重定向到元数据页时遇到问题。我已经将该服务发布到公共IIS7服务器上的虚拟文件夹"myservice“。
URL "http://mydomain/myservice/whatever“按设计工作,"http://mydomain/myservice/metadata”显示元数据页(具有正确的链接URL)。
问题是,当访问"http://mydomain/myservice“时,它重定向到"/myservice/元数据“,而不是"/myservice/元数据“。
如何配置元数据url?
发布于 2013-01-25 08:32:06
在ServiceStack中,可以通过在AppHost.Configure()
中指定用于所有重定向的baseUrl。
SetConfig(new HostConfig {
WebHostUrl = "http://mydomain/",
});
重写解析URL的
您可以重写ServiceStack如何通过在AppHost中重写ResolveAbsoluteUrl()
来解析绝对Url,例如:
public class AppHost : AppHostBase
{
//...
public override string ResolveAbsoluteUrl(string virtualPath, IRequest req)
{
virtualPath = virtualPath.SanitizedVirtualPath();
return req.GetAbsoluteUrl(virtualPath);
}
}
发布于 2016-10-12 06:08:07
老问题,但我也有这个问题,并找到了解决方案这里。
基本上,如果您将您的服务部署在同一台机器上,使用“http://localhost:XXXX/metadata”URL在浏览器中打开元数据页,ServiceStack将记住这一点,直到服务重新启动为止,无论您试图从何处打开该页面,ServiceStack都会继续重定向到该URL。
因此,重新启动服务并使用它的远程地址打开元数据页,它应该会很好。
https://stackoverflow.com/questions/14521116
复制