2013-03-19 22 views
2

我已經想出瞭如何繞過ServiceStack來實現我自己的HTTP處理程序來下載文件,並且它運行良好。不過,我想知道,現在我在服務棧外,如果我可以以某種方式訪問​​緩存。我繞過了servstack來實現我自己的IHTTPHandler,但現在我想要訪問緩存

下面是我如何註冊我的自定義的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)?

回答

3

是的,你可以通過單訪問任何ServiceStack的依賴關係:

AppHostBase.Resolve<ICacheClient>(); 

哪個着眼於國際奧委會在ASP.NET ServiceStack APPHOST。

,在所有ServiceStack AppHosts的工作原理相同的例子是:

EndpointHost.AppHost.TryResolve<ICacheClient>();