无法加载协定为“ServiceReference1.***”的终结点配置部分,因为找到了该协定的多个终结点配置。请按名称指示首选的终结点配置部分。

异常:System.InvalidOperationException: 无法加载协定为“ServiceReference1.MainShowWebServiceSoap”的终结点配置部分,因为找到了该协定的多个终结点配置。请按名称指示首选的终结点配置部分。

部分代码:ServiceReference1.MainShowWebServiceSoapClient  mss = new ServiceReference1.MainShowWebServiceSoapClient();

app.config文件

<?xml version="1.0" encoding="utf-8" ?>

<configuration>
    <system.serviceModel>
        <bindings>
            <basicHttpBinding>
                <binding name="MainShowWebServiceSoap" closeTimeout="00:01:00"
                    openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                    allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                    maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                    messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
                    useDefaultWebProxy="true">
                    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                    <security mode="None">
                        <transport clientCredentialType="None" proxyCredentialType="None"
                            realm="" />
                        <message clientCredentialType="UserName" algorithmSuite="Default" />
                    </security>
                </binding>
            </basicHttpBinding>
            <customBinding>
                <binding name="MainShowWebServiceSoap12">
                    <textMessageEncoding maxReadPoolSize="64" maxWritePoolSize="16"
                        messageVersion="Soap12" writeEncoding="utf-8">
                        <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                            maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                    </textMessageEncoding>
                    <httpTransport manualAddressing="false" maxBufferPoolSize="524288"
                        maxReceivedMessageSize="65536" allowCookies="false" authenticationScheme="Anonymous"
                        bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                        keepAliveEnabled="true" maxBufferSize="65536" proxyAuthenticationScheme="Anonymous"
                        realm="" transferMode="Buffered" unsafeConnectionNtlmAuthentication="false"
                        useDefaultWebProxy="true" />
                </binding>
            </customBinding>
        </bindings>
        <client>
            <endpoint address="http://localhost:29003/MainShowWebService.asmx"
                binding="basicHttpBinding" bindingConfiguration="MainShowWebServiceSoap"
                contract="ServiceReference1.MainShowWebServiceSoap" name="MainShowWebServiceSoap" />
            <endpoint address="http://localhost:29003/MainShowWebService.asmx"
                binding="customBinding" bindingConfiguration="MainShowWebServiceSoap12"
                contract="ServiceReference1.MainShowWebServiceSoap" name="MainShowWebServiceSoap12" />
        </client>

    </system.serviceModel>

</configuration>

原因分析:系统加载配置文件时,自动多次创建了“外部服务引用”(红色字体)

解决方法:

1、由于各服务引用中"name"不一样,创建服务对象时可加上name名称

代码:ServiceReference1.MainShowWebServiceSoapClient  mss = new ServiceReference1.MainShowWebServiceSoapClient("MainShowWebServiceSoap");

2、删除一个<endpoint >节点即可


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值