类库(DLL)项目中引用WebService错误:找不到引用协定“Abcds.XXXXSoap”的默认终结点元素。解决办法

错误提示案例:在 ServiceModel 客户端配置部分中,找不到引用协定“PutMCCases.PutMCCasesSoap”的默认终结点元素。这可能是因为未找到应用程序的配置文件,或者是因为客户端元素中找不到与此协定匹配的终结点元素。

答疑如下

类库项目中添加了WebService之后,会默认生成一个app.Config文件,里面是WebService的配置信息

假设我的文件内容如下:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.serviceModel>
        <bindings>
            <basicHttpBinding>
                <binding name="RightServiceSoap" />
            </basicHttpBinding>
        </bindings>
        <client>
            <endpoint address="http://admin.xuecheyi.com/RightService.asmx"
                binding="basicHttpBinding" bindingConfiguration="RightServiceSoap"
                contract="RefRight.RightServiceSoap" name="RightServiceSoap" />
        </client>
    </system.serviceModel>
</configuration>

出现上诉问题的解决办法:

(1)把绿色代码部分放到Web项目的Web.Config文件里面对应的父节点下面即可,重新编译Web项目之后会自动生成相关代码

(2)App.Config文件里endpoint的name属性值,在代码实例化时要一致(我目前还未证实