0
我必須添加頭到wcf服務調用。包裝樣板wcf客戶端代碼
我實現了這種方式:
var client = new ServiceReference1.HeaderConsumeClient("NetTcpBinding_IHeaderConsume");
using (OperationContextScope scope = new OperationContextScope(client.InnerChannel))
{
Guid apiKey = Guid.NewGuid();
MessageHeader<Guid> mhg = new MessageHeader<Guid>(apiKey);
MessageHeader untyped = mhg.GetUntypedHeader("apiKey", "ns");
OperationContext.Current.OutgoingMessageHeaders.Add(untyped);
var res = client.GetData(1);
Console.WriteLine(res);
}
但我想使沒有這樣的樣板代碼通用的解決方案在每一個服務調用。
最常見的方式,我認爲 - 是讓我自己的TT4模板幷包裹生成的代理中的每個調用。
但在此之前,我想知道,有沒有其他方法來覆蓋或修飾wcf生成的類方法?
例如 - 我可以使用統一和註冊這個服務接口的實現,並添加攔截器到這個實例的所有調用。但它看起來有點過於複雜。
看起來很清楚,可配置的解決方案。我會嘗試 – Mitklantekutli
daryal,非常感謝! – Mitklantekutli