ルート パス test.com/some.png から画像を提供しようとしていますが、このマークダウン ページは [Post]test.com/Item または [Put]test.com/Item/123 に表示される可能性があります。画像リンクを形成するためのベース URI を取得する方法。
質問する
870 次
1 に答える
1
~/
Markdown ページ内のリテラル テキストを使用して、仮想パスに変換できます。
このリテラルは、起動時にappHost.Config.WebHostUrl プロパティEndpointHostConfig.MarkdownReplaceTokens
が割り当てられたグローバル プロパティから登録されます。
this.MarkdownReplaceTokens["~/"] = appHost.Config.WebHostUrl.WithTrailingSlash();
ASP.NET フレームワークがホストされている URL を (つまり、リクエストなしで) 判断するのは難しいため、構成で使用する優先 URL を指定する必要があります。以下は、servicestack.net /docs/ - ServiceStack のマークダウン ドキュメント プロジェクトの例です。
SetConfig(new EndpointHostConfig {
WebHostUrl = baseUrl, //replaces ~/ with Url
MarkdownBaseType = typeof(CustomMarkdownPage),
});
それ以外の場合は、サービス内で使用して、着信要求に関する情報を取得しbase.Request
たり、基になる ASP.NET Request オブジェクトを取得したりできます。base.RequestContext.Get<IHttpRequest>()
(HttpRequest)base.Request.OriginalRequest
于 2012-08-08T00:02:28.710 に答える