关于手工构建Message的问题

chnking 2009-04-27 05:33:51
在WCF使用Channel Model编程模型做一个客户端应用调用WCF服务,需要根据服务端的ServiceContract构建跟要调用服务的某个OperationContract相适应的Requst Message。
假设服务端的OperationContract是这样的:
[OperationContract]
string Operation1(class1 a);

class1类型在服务端也定义为DataContract的类型。对于这样的Operation,客户端请求消息只包含一个对象class1 a,客户端的Message可以使用Message的静态方法CreateMessage:
public static Message CreateMessage(MessageVersion version, string action, object body)来构造,像这样:
Message requestMessage = Message.CreateMessage(MessageVersion.Soap11, "http://test.com",new class1());


但是对于服务端的OperationContract如果输入参数多于一个对象的情况:
[OperationContract]
string Operation1(class1 a,class2 b);


我没有找到Message的CreateMessage有可以使用多个object的重载方法,不知道这种情况如何构造相应的Requst Message?
...全文
147 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhazha0304 2009-05-11
  • 打赏
  • 举报
回复
我来推荐一下在线课程http://www.cdlanhai.com/zxst/
redhat2 2009-05-11
  • 打赏
  • 举报
回复
帮顶


.



人力资源
chnking 2009-05-10
  • 打赏
  • 举报
回复
to zheng616

这么做不像是wcf本身的机制
ai_li7758521 2009-05-10
  • 打赏
  • 举报
回复
帮顶
zheng616 2009-05-10
  • 打赏
  • 举报
回复
建个基类,用数组就可以了..
Message requestMessage = Message.CreateMessage(MessageVersion.Soap11,
"http://test.com/Operation1",
new classBse[]{new class1(), new class2()}
);
pathuang68 2009-05-10
  • 打赏
  • 举报
回复
自古高人皆寂寞!顶一下吧
qiubo2220680 2009-05-10
  • 打赏
  • 举报
回复
很同意 "建个基类,用数组就可以了..
Message requestMessage = Message.CreateMessage(MessageVersion.Soap11,
"http://test.com/Operation1",
new classBse[]{new class1(), new class2()}
); "这个写法
chnking 2009-05-06
  • 打赏
  • 举报
回复
自己再顶一下
chnking 2009-04-29
  • 打赏
  • 举报
回复
自己顶一下

17,741

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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