2

物理パスを仮想パスに、またはその逆にマップする必要がある FileSystemBlobProvider があります。ホスト名へのアクセスも必要です (アプリの相対パスを指定して公開 URL を生成する必要があります)。理想的には、これはホスティング (Asp.Net またはセルフホステッド) から独立している必要があります。

どんなポインタも役に立ちます。

4

1 に答える 1

3

次の HTTP リクエストのコンテキスト内でのみ、ホスト名にアクセスできます。

base.Request.Headers["Host"] 

これは、リバース プロキシにも敏感です。これ以外で必要な場合は、Web.config にユーザー定義のエントリを追加します。

ユースケースに応じて、以下から仮想パスと物理パスにアクセスすることもできますIHttpRequest

base.Request.PathInfo
base.Request.ApplicationFilePath

また、ServiceStack には次の方法でアクセスできるVirtualFileSystemが含まれています。

EndpointHost.VirtualPathProvider

ServiceStack が配置されているルート ディレクトリの仮想パスと物理パスを取得するためにクエリを実行できます。

EndpointHost.VirtualPathProvider.RootDirectory.VirtualPath
EndpointHost.VirtualPathProvider.RootDirectory.RealPath
于 2013-03-06T09:24:40.347 に答える