wcf 单向操作返回具有 Action='' 的非 null 消息。
大家好,自己写了一个wcf的oneway的服务,这个服务发布出来以后,如果在其它的客户端使用直接添加wsdl引用生成代理类的方式调用时没有问题的,现在我用服务类的契约接口文件在客户端通过创建通道的形式调用服务器端的服务,代码如:
//IOneWay 是服务端的一个契约接口文件,binding是一个绑定变量,如BasicHttpBing类型的,Address是服务地址
IOneWay proxy = ChannelFactory<IOneWay>.CreateChannel(binding, new EndpointAddress(Address));
然后我调用proxy的一个具体的方法时出现了如下错误:
“单向操作返回具有 Action='' 的非 null 消息”
明明是oneway方式调用怎么会返回东东呢?我在网上查阅了一些文档以后发现有人说oneway方式不同于异步也不完全是真正的什么都不返回,证明如下:
http://bloggingabout.net/blogs/gerben/archive/2010/02/01/wcf-best-practice-5-one-way-is-not-always-really-one-way.aspx
但是这个不是我关心的重点,我关心的是怎么解决这个问题,我又看了一位外国仁兄写的博客(http://winterdom.com/2009/02/irequestchannelandonewaycontracts/comment-page-1#comment-2338),说是服务端返回内容了,但是消息体是空的,只要将编码设置为忽略空消息即可解决问题,我的问题就是:如何修改wcf的编码,使其忽略空消息?哪位仁兄知道希望指点一下,也让后来的兄弟们少走点弯路,在此谢过啦
[解决办法]
该回复于2012-04-18 10:05:27被版主删除