我是WCF service
的初学者。我创建了一个Wcf休息服务。如果我浏览它,这工作正常。
然后我添加了一个新的Web应用程序并添加了该服务的引用。服务正确加载。但是,当我检查web.config时,它不包含有关服务模型及其空的任何细节。我实现并构建并运行了解决方案,它打破并给出了这个错误:
找不到引用合同的默认端点元素 ' ProductRestService.IProductRESTService'在ServiceModel客户端中 配置部分。这可能是因为没有配置文件 找到您的应用程序,或者因为没有端点元素匹配 这个合同可以在客户元素中找到。
我的服务webconfig如下:
<system.serviceModel>
<services>
<service name="WcfService1.ProductRestService"
behaviorConfiguration="serviceBehavior">
<endpoint address="ProductRestService" binding="webHttpBinding" contract="WcfService1.IProductRESTService"
behaviorConfiguration="web"></endpoint>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="serviceBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="web">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
</system.serviceModel>
我将其实施为测试:
if (!IsPostBack)
{
ProductRestService.ProductRESTServiceClient pro = new ProductRestService.ProductRESTServiceClient("ProductRestService");
var prodcuts = pro.GetProductList();
GridView1.DataSource = prodcuts;
GridView1.DataBind();
}
和客户端web.config为空:
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.5.1" />
<httpRuntime targetFramework="4.5.1" />
</system.web>
</configuration>
如何解决此问题!!!
答案 0 :(得分:0)
在web.config文件中添加以下代码,它将解决问题,
<system.serviceModel>
<bindings>
<webHttpBinding>
<binding name="WebHttpBinding_IProductRESTService" />
</webHttpBinding>
</bindings>
<client>
<endpoint address="http://{DomainName}/ProductRestService/" binding="webHttpBinding" bindingConfiguration="WebHttpBinding_IProductRESTService" contract="WcfService1.IProductRESTService" name="WebHttpBinding_IProductRESTService" />
</client>
</system.serviceModel>