我正在创建一个WCF服务。这是我的第一个。我收到错误:
找不到默认端点引用契约的元素"WCFClient。中的IWCFClientServiceModel客户端配置部分。
我已经尝试切换端点名称等,并删除/重新创建服务引用。我似乎不知道问题出在哪里。
应用程序配置:
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IWCFClient" 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>
</bindings>
<client>
<endpoint address="http://localhost:4295/Services/WCFClient.svc"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IWCFClient"
contract="WCFClient.IWCFClient" name="BasicHttpBinding_IWCFClient" />
</client>
服务配置:
<services>
<service behaviorConfiguration="WCFGraphicManagementTool.Services.WCFClientBehavior"
name="WCFGraphicManagementTool.Services.WCFClient">
<endpoint address="" name="BasicHttpBinding_IWCFClient" binding="basicHttpBinding" contract="WCFGraphicManagementTool.Contracts.IWCFClient">
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="WCFGraphicManagementTool.Services.WCFClientBehavior">
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
<serviceThrottling maxConcurrentCalls="120" maxConcurrentSessions="120" maxConcurrentInstances="120" />
<serviceMetadata httpGetEnabled="True" />
<serviceDebug includeExceptionDetailInFaults="True" />
</behavior>
</serviceBehaviors>
</behaviors>
我刚刚明白了。我需要将其添加到项目的web中。配置也。它属于服务部门,而不是项目。
这通常是由于配置文件中指定的服务名称/命名空间与源代码或服务文件标记上的合同名称不匹配。通常发生在你通过Visual Studio创建一个新服务,然后重命名服务/命名空间之后。
在解决方案资源管理器中右键单击.svc文件并选择'View Markup'
检查Service属性值是否正确。检查名称空间和名称是否与您分配的名称匹配。
应该是这样的:
<%@ ServiceHost Language="C#" Debug="true" Service="WCFGraphicManagementTool.Services.WCFClient" CodeBehind="WCFClient.svc.cs" %>