C# - 找不到名为“XXXXXX”和合同的端点元素

时间:2016-04-07 07:39:55

标签: c# wcf wcf-binding

我正在尝试在VS2010中运行一个在本地调用2个Web服务的项目,我将app.config文件设置如下,并将2个Web服务添加到服务引用中,但是我收到以下错误当我尝试进入其中一个Web服务的代码时。

只是想知道你能帮忙吗,我知道这个错误可能已经出现在此处,但所给出的解决方案似乎并没有解决我的问题。

错误讯息:

  

在ServiceModel客户端配置部分找不到名称为“XXXXXX”且合同为“IcxnService.IIcxnService”的端点元素。这可能是因为没有为您的应用程序找到配置文件,或者因为在客户端元素中找不到与此名称匹配的端点元素。

App.Config档案:

<system.serviceModel>
    <bindings>
        <wsHttpBinding>
            <binding name="WSHttpBinding_IIcxnService" 
                closeTimeout="00:10:00" openTimeout="00:30:00" 
                receiveTimeout="00:30:00" sendTimeout="00:30:00"
                bypassProxyOnLocal="false" transactionFlow="false" 
                hostNameComparisonMode="StrongWildcard"
                maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647"
                messageEncoding="Text" textEncoding="utf-8" 
                useDefaultWebProxy="true" allowCookies="false">
                <readerQuotas maxDepth="32" maxStringContentLength="8192" 
                       maxArrayLength="16384" maxBytesPerRead="4096" 
                       maxNameTableCharCount="16384" />
                <reliableSession ordered="true" 
                       inactivityTimeout="00:10:00" enabled="false" />
                <security mode="Message">
                    <transport clientCredentialType="Windows"  
                               proxyCredentialType="None" realm="" />
                    <message clientCredentialType="Windows" 
                             negotiateServiceCredential="true"
                             algorithmSuite="Default" />
                </security>
            </binding>
            <binding name="WSHttpBinding_ICznzrzctZzzzsService" 
                 closeTimeout="00:10:00" openTimeout="00:10:00" 
                 receiveTimeout="00:10:00" sendTimeout="00:10:00"
                 bypassProxyOnLocal="false" transactionFlow="false" 
                 hostNameComparisonMode="StrongWildcard"
                 maxBufferPoolSize="524288" maxReceivedMessageSize="65536" 
                 messageEncoding="Text" textEncoding="utf-8" 
                 useDefaultWebProxy="true" allowCookies="false">
                 <readerQuotas maxDepth="32" maxStringContentLength="8192" 
                        maxArrayLength="16384" maxBytesPerRead="4096" 
                        maxNameTableCharCount="16384" />
                 <reliableSession enabled="false"
                        ordered="true" inactivityTimeout="00:10:00" />
                 <security mode="Message">
                     <transport clientCredentialType="Windows" 
                                proxyCredentialType="None" realm="" />
                     <message clientCredentialType="Windows" 
                              negotiateServiceCredential="true"
                              algorithmSuite="Default" />
                 </security>
            </binding>
        </wsHttpBinding>
    </bindings>
    <client>
        <endpoint name="WSHttpBinding_ICznzrzctZzzzsService" 
            address="http://localhost:1600/ContractNotes.svc" 
            binding="wsHttpBinding"
            bindingConfiguration="WSHttpBinding_ICznzrzctZzzzsService" 
            contract="ContractNotes.ICznzrzctZzzzsService" />
        <endpoint name="WSHttpBinding_IIcxnService"
            address="http://localhost:1000/IcxnService.svc" 
            binding="wsHttpBinding"
            bindingConfiguration="WSHttpBinding_IIcxnService" 
            contract="IcxnService.IIcxnService">
            <identity>
                <userPrincipalName value="john@xxxxxxx.COM" />
            </identity>
        </endpoint>
    </client>
</system.serviceModel>

2 个答案:

答案 0 :(得分:0)

在浏览器http://localhost:1600/ContractNotes.svc中插入此字符串,如果您没有得到任何内容,则需要运行本地Web服务(单击Web应用程序,设置为StartUp Project并调试它们(单击ctrl + F5) )),之后设置为StartUp Project您运行这些服务的项目并运行它们。

编辑1: 是否使用关键字(ServiceContract和OperationContract)标记了您的服务?像这样:

[ServiceContract]
public interface IIcxnService
{
    [OperationContract]
    void NameMethod(some parameters);
}

答案 1 :(得分:0)

确保您要查找的配置名称为WSHttpBinding_IIcxnService。 如果未明确指定端点配置名称,则可以检查Reference.cs文件上ConfigurationName上的ServiceContractAttribute属性。