在我們的ASP.NET項目中,我們有一個會話管理器服務接口,用於查找有關當前用戶的信息。例如:根據額外參數創建WCF服務的依賴關係
var actorId = _sessionManager.CurrentActivePerson.PersonId;
此會話管理器通過基於構造函數的依賴注入提供給類。
現在,我們有一個WCF服務,我們願與視情況不同DI綁定實例:
- 如果消費者提供會話的用戶名,我們想用一個會話認爲用戶是當前人的經理。
- 否則,我們想要以某種方式要求提供域ID,請使用綁定到該域的系統人員的會話管理器。
爲了使其正常工作,我們需要允許消費者提供域ID作爲參數,儘管它沒有被指定爲服務本身的參數。然後,我們需要能夠在HostFactory創建服務實例時從DI綁定方法訪問此參數。
有沒有人對我們如何做到這一點有任何建議?
注:
- 我已經知道如何創建通常依賴綁定:問題是關於通過這個額外的參數到服務的工廠。
- WCF服務作爲SOAP端點公開,並使用基於證書的安全性。
你是詢問如何注入東西到服務,或到調用該服務的客戶端? – 2011-01-14 20:51:03