客户端的wcf事件

时间:2011-06-20 10:15:49

标签: c# wcf

这是wcf中的客户端事件,每当我创建wcf客户端的对象时都会被触发。

实际上我想在wcf客户端

下添加传出标头

现在我在reference.cs

下的客户端构造函数中使用下面的代码
private void AddCustomHeaderUserInformation(OperationContextScope scope)
{
    MessageHeader<int> mhg = new MessageHeader<int>(10);
    MessageHeader untyped = mhg.GetUntypedHeader("slash", "slash");
    OperationContext.Current.OutgoingMessageHeaders.Add(untyped);
} 

使用上述方法有两个问题

  1. 每次用wcf更新客户端时,代码都会消失,我需要再次编写
  2. 代码假设是在每个客户端构造函数中编写的,我在wcf中有11个服务契约。所以真的很糟糕..

2 个答案:

答案 0 :(得分:0)

你应该看看实现IClient MessageInspector - 这允许你在较低级别插入服务模型层 - 你可以在BeforeSendRequest中添加你的标题

答案 1 :(得分:0)

我相信你可以在客户端创建部分类,这样每次重新生成客户端代码时行为都不会丢失。