webservice 不允许使用decompressionEnabled属性
项目接入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");
是不会有问题的。
关于报重复的问题,网上搜的结果都是说删掉一个就行,但是最好还是要了解机制,了解为什么。