2014-02-19 81 views
0

我正在使用ServiceStack的funq,我試圖抓住IOC在請求結束時放置的地方。特別是對於scope = ReuseScope.Request的條目。ServiceStack - 國際奧委會處置

我看RestHandler的ProcessRequest方法,它是被直接Asp.NET調用的方法,它最終是這樣的:

(...)  
     if (doJsonp && !(response is CompressedResult)) 
       httpRes.WriteToResponse(httpReq, response, (callback + "(").ToUtf8Bytes(), ")".ToUtf8Bytes()); 
      else 
       httpRes.WriteToResponse(httpReq, response); 
     } 
     catch (Exception ex) 
     { 
      if (!EndpointHost.Config.WriteErrorsToResponse) throw; 
      HandleException(httpReq, httpRes, operationName, ex); 
     } 
    } 

我看不出有任何引用到Funq處置。我在這裏錯過了什麼? 謝謝

回答

0

容器範圍是一樣的辛格爾頓範圍,只有得到處置時,AppHost is disposed

RequestScoped資源配置中ServiceStackHost.OnEndRequest()

您可以在APPHOST覆蓋AppHost.Release(object instance)得到通知時ServiceStack釋放資源。

+0

對不起我的錯誤。這是ReuseScope.Request 我正在尋找電話。這是什麼觸發的? 謝謝 –

+0

更新回答,在ServiceStackHost.OnEndRequest() – mythz

+0

@Blitzkrieg不應該是可能的,調用通常來自** EndRequest()**擴展方法,這是從每個已知的退出點調用。 – mythz

相關問題