高分求解,在线等待,WCF使用消息头传参数

peterzhou2000 2012-04-25 09:30:43
我的设计是:使用消息头来传送服务端所需要的参数。
我的问题是:如何不需要在每个方法(如下的GetServerDTime、GetServerName)中都写增加消息头的代码(AddMessageHeader();),因为我的方法太多了,能否在调用服务器方法时自动增加.(per-Call)
代码如下
-------------------------------------------------------------------------------------
//创建WCF服务客户端对象Srv_Global.Srv_GlobalClient
public Srv_Global.Srv_GlobalClient CreateSrv_Global()
{
Srv_Global.Srv_GlobalClient proxy = new Srv_Global.Srv_GlobalClient(bd, ea);
return proxy;
}

//建立对象实例
Srv_Global.Srv_GlobalClient proxy=CreateSrv_Global();


private void AddMessageHeader()
{
using (OperationContextScope scope = new OperationContextScope(proxy.InnerChannel))
{
MessageHeader header = MessageHeader.CreateHeader("UserID", "ns", "Test");
OperationContext.Current.OutgoingMessageHeaders.Add(header);
}
}

//方法一:获取服务器时间
public string GetServerDTime()
{
AddMessageHeader();//增加消息头
return proxy.getServerDTime(); //调用服务端方法

}

//方法二:获取服务器名称
public string GetServerName()
{
AddMessageHeader();//增加消息头
return proxy.getServerName(); //调用服务端方法
}
...全文
173 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Soloboy1020 2012-04-25
  • 打赏
  • 举报
回复
自己写个扩展...
qldsrx 2012-04-25
  • 打赏
  • 举报
回复
这篇博客介绍了2种方法:http://blog.csdn.net/fangxinggood/article/details/6144893,你要的就是方法二,添加终结点Behavior来实现。
loveoflife0411 2012-04-25
  • 打赏
  • 举报
回复
咋问题都这么难呢,没一个我可以帮忙滴

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧