我正在开发一个 SharePoint 2013 webpart,并且 webpart 上的标签需要使用 WCF 与 SQL Server 数据表进行通信。我已经创建了 WCF 接口和主类,并且还在我的 Visual webpart 中调用了该服务,如下所示:
protected void Page_Load(object sender, EventArgs e)
{
WcfServiceReference1.Service1Client client = new WcfServiceReference1.Service1Client();
CustomerNameLbl.Text = client.GetCustomerName(ProjectIDDescLbl.Text);
}
其中 WcfServiceReference1 是添加的 WCF 服务引用,并且根据项目编号标签更改客户标签文本。该项目可以正常构建和部署,但是当我添加 Web 部件时,出现此错误:在 ServiceModel 客户端配置部分中找不到引用合同“WcfServiceReference1.IService1”的默认端点元素。这可能是因为没有为您的应用程序找到配置文件,或者因为在客户端元素中找不到与此协定匹配的端点元素。
我的 app.config 文件是这样的:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IService1" />
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://as-sv-dev02:2345/Service1.svc" binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IService1" contract="WcfServiceReference1.IService1"
name="BasicHttpBinding_IService1" />
</client>
</system.serviceModel>
而 web.config 文件(用于 SharePoint)是这样的:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IService1" />
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://as-sv-dev02:2345/Service1.svc" binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IService1" contract="WcfServiceReference1.IService1"
name="BasicHttpBinding_IService1" />
</client>
谁能指导我如何解决这个问题?我在某个地方出错了吗?