webservice 不允许使用decompressionEnabled属性

本文介绍了解决在.NET Framework 3.5环境下接入WebService时遇到的配置错误问题。通过删除不适用的属性,避免了与.NET Framework 4.0兼容性冲突,并解释了如何正确配置多个endpoint。

项目接入webservice,出现这个问题,

右键-》添加服务引用,输入webservice地址,确定。

vs自己生成代理类等等,在配置文件里面写入配置,生成的时候出现了这个错误。

查了一下msdn,这个属性只在.netframework 4.0以上才支持,我用的vs2010,添加webservice的时候估计vs是按照.net4.0添加的配置,然后有了这个属性,但其实我的项目是.net3.5,所以,删除这个属性就行了。

 <endpoint address="http://192.168.0.197:4600/WebService/MyUserService.asmx"
        binding="basicHttpBinding" bindingConfiguration="MyUserServiceSoap"
        contract="MyUserService.MyUserServiceSoap" name="MyUserServiceSoap" />
      <endpoint address="http://192.168.0.197:4600/WebService/MyUserService.asmx"
        binding="customBinding" bindingConfiguration="MyUserServiceSoap12"
        contract="MyUserService.MyUserServiceSoap" name="MyUserServiceSoap12" />

默认vs会在配置文件里面写入两个endpoint,有人说会报重复,那是因为你调用的时候没有指定用哪个endpoint,比如我上面的配置,有两个endpoint,我调用的时候这样调用:

MyUserService.MyUserServiceSoapClient client = new MyUserService.MyUserServiceSoapClient("MyUserServiceSoap");

或者:

MyUserService.MyUserServiceSoapClient client = new MyUserService.MyUserServiceSoapClient("MyUserServiceSoap12");

是不会有问题的。

关于报重复的问题,网上搜的结果都是说删掉一个就行,但是最好还是要了解机制,了解为什么。

 

msdn地址:http://technet.microsoft.com/zh-cn/subscriptions/system.servicemodel.configuration.httptransportelement.decompressionenabled

转载于:https://www.cnblogs.com/iguxiaobei/archive/2013/04/11/3014006.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值