2

我希望从我的根路径 test.com/some.png 提供图像,但此降价页面可能会显示在 [Post]test.com/Item 或 [Put]test.com/Item/123 所以我正在寻找一种获取基本 URI 以形成图像链接的方法。

4

1 回答 1

1

~/您可以使用Markdown 页面内的文字文本转换为虚拟路径。

此文字在启动时从EndpointHostConfig.MarkdownReplaceTokens分配了appHost.Config.WebHostUrl 属性的全局属性注册:

this.MarkdownReplaceTokens["~/"] = appHost.Config.WebHostUrl.WithTrailingSlash();

由于 ASP.NET 框架很难确定其托管的 url(即没有请求),因此您需要指定要在配置中使用的首选 url。这是来自servicestack.net/docs/的示例- ServiceStack 的 markdown Docs 项目:

SetConfig(new EndpointHostConfig {
    WebHostUrl = baseUrl,                          //replaces ~/ with Url
    MarkdownBaseType = typeof(CustomMarkdownPage), 
});

否则,在您的服务内部,您可以使用base.Requestbase.RequestContext.Get<IHttpRequest>()获取有关传入请求的信息以及(HttpRequest)base.Request.OriginalRequest获取底层 ASP.NET 请求对象。

于 2012-08-08T00:02:28.710 回答