2010-04-13 32 views
0

我有一個後端服務和前端服務。他們通過可信子系統模式進行通信。我想從前端傳輸用戶名到後端,並通過用戶名憑據這樣做,因爲在這裏找到:爲新頻道設置用戶名憑證而不創建新工廠

http://msdn.microsoft.com/en-us/library/ms730288.aspx

這並不在我們之情況在前端通過建立一個後端服務通道工廠工作:

channelFactory = new ChannelFactory<IBackEndService>(.....); 

通過模具通道工廠創建新通道。我一次只能設置憑證,之後我得到一個例外,即用戶名對象是隻讀的。

channelFactory.Credentials.Username.Username = "myCoolFrontendUser"; 
var channel = channelFactory.CreateChannel(); 

有沒有一種方法來創建通道工廠只有一個,因爲這是昂貴的創建,然後創建一個通道時指定的用戶名憑證的時間?

回答

0

我發現這是不可能的。我知道爲標識用戶的每個呼叫添加自定義標頭值。您需要這樣做,因爲您不想爲可能觸及前端的每個用戶創建工廠。除此之外,創建工廠很昂貴。