我在使用WCF服务时遇到错误。我开发了一个由usercontrol使用的wcf服务。用户控件在DNN中用作模块。
但是,如果我只是在Web应用程序中使用wcf它工作正常但在DNN模块中消耗正在提供以下错误
无法在ServiceModel客户端配置部分中找到引用合同“OperationService.IOperation”的默认端点元素。这可能是因为没有为您的应用程序找到配置文件,或者因为在客户端元素中找不到与此合同匹配的端点元素。
请告知。
客户端配置在
之下<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="WSHttpBinding_IOperation" />
</wsHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost:54147/WCFService/Service.svc"
binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IOperation"
contract="OperationService.IOperation" name="WSHttpBinding_IOperation">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
</client>
</system.serviceModel>
从评论中添加了wcf服务的服务配置
<system.serviceModel>
<services>
<service behaviorConfiguration="ServiceBehavior" name="Operation">
<endpoint address="" binding="wsHttpBinding"
contract="IOperation">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding"
contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
答案 0 :(得分:1)
将app.config中的部分复制到您网站的web.config中。您可能需要更改端点的地址属性。
答案 1 :(得分:0)
合约名称需要在<endpoint>
元素中完全限定(名称空间+名称),如下所示:
<endpoint address="" binding="wsHttpBinding"
contract="OperationService.IOperation">
另外,请确保<service>
元素中的name属性与.svc文件标记中的name属性匹配。