2

ServiceStack をバイパスして独自の HTTP ハンドラーを実装し、ファイルをダウンロードとして提供する方法を見つけましたが、うまく機能しています。しかし、サービススタックの外にいるので、どうにかしてキャッシュにアクセスできるかどうか疑問に思っています。

以下は、カスタム IHTTPHandler を登録する方法です。

 SetConfig(new EndpointHostConfig
                {
                    RawHttpHandlers = new List<Func<IHttpRequest, IHttpHandler>>()
                    {
                        req => {
                            if (req.PathInfo.Contains("filetest"))
                                return new MP4DownloadHandler();
                            return null;
                        }
                    }
                });

MP4DownloadHandler クラスの ProcessRequest メンバーから ServiceStack のキャッシュ (ICacheClient) にアクセスできますか?

4

1 に答える 1

3

はい、シングルトンを介して ServiceStack の依存関係にアクセスできます。

AppHostBase.Resolve<ICacheClient>();

ASP.NET ServiceStack AppHost の IOC を調べます。

すべての ServiceStack AppHosts で機能する同じ例は次のとおりです。

EndpointHost.AppHost.TryResolve<ICacheClient>();
于 2013-03-19T20:03:46.650 に答える