2015-12-16 31 views
1

我在服務中使用ServiceStack 4並且當前訪問數據庫(Db),沒有任何問題。但是,在RequestFilterResponseFilter中,我無權訪問Db屬性。在RequestFilter中訪問Db

是否有任何其他方法可以訪問數據庫,而不是解析過濾器的Execute方法中的<IDbConnection>實例?我嘗試從已註冊的IDbConnection解決,但它並不像Service那樣沒有問題,並且連接已關閉。

我試圖保持它乾燥,避免打破請求鏈。

謝謝您的幫助:)

回答

2

可以解決因在您APPHOST IOC註冊(即你只能解決註冊依賴)的IDbConnectionFactory一個IDbConnection,如:

using (var db = HostContext.Resolve<IDbConnectionFactory>().Open()) 
{ 
    //... 
} 

這是也如何基地Serviceresolves its IDbConnection

+1

感謝您的快速回答@mythz!但是,我試圖用'using'指令避開每個'Db'調用。最終檢查你的'Service'的實現並複製getter和'Dispose'。但謝謝你的答案! :) – Locutux