创建和访问WCF服务.Visual studio 2012给出错误
本文关键字:2012 出错 错误 studio Visual 访问 WCF 服务 创建 | 更新日期: 2023-09-27 18:07:58
我在这里学习WCF http://msdn.microsoft.com/ru-ru/library/bb386386.aspx,我成功地完成了测试服务步骤。然而,在访问服务步骤中,我遇到了一些问题。它构建没有任何错误,但当我试图写smth到textLabel空间和按下button1我得到错误的button1_Click函数,即ServiceReference1.Service1Client client = new ServiceReference1.Service1Client();
错误信息
找不到引用contract>'ServiceReference1的默认端点元素。服务模型客户端配置部分中的IService1'。这可能是因为没有找到您的应用程序的配置文件>>,或者因为在客户端元素中没有找到与此契约匹配的结束点元素>>。
我在app.project文件
中找到这样的代码<endpoint address="http://localhost:8733/Design_Time_Addresses/WcfServiceLibrary1/Service1/"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IService11"
contract="ServiceReference1.IService1" name="BasicHttpBinding_IService11" />
我100%肯定,代码没有任何错误,因为我从上面的网站复制它没有任何修改。所以我很高兴听到你的设想如何解决这个问题。
您应该在构造客户端时指定端点的name
:
using (var client = new ServiceReference1.Service1Client("BasicHttpBinding_IService11"))
{
client.SomeMethod();
}
或者如果配置文件中只有一个端点,则使用*
:
using (var client = new ServiceReference1.Service1Client("*"))
{
client.SomeMethod();
}
你需要指定名称的原因是,在配置文件中,同一个服务可能有多个端点(例如,使用不同的绑定),如果你不指定名称,框架将不知道你想调用哪个端点。
还请注意我是如何将IDisposable
客户机包装在using
语句中,以确保在完成处理后正确处理它。