【发布时间】:2015-10-27 16:26:20
【问题描述】:
我正在尝试使用 .Net 类库项目中的 wcf 端点。我将服务引用添加到我的客户项目中。以下是我的客户
try
{
ServiceResult svcResult;
using (MyServiceClient myClient = new MyServiceClient())
{
svcResult = myClient.DoSomething(param1, param2);
}
}
catch (Exception ex)
{
}
我的 app.config 文件如下所示
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="WSHttpBinding_IMyService" />
</wsHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost:1234/MyWCFServices/MyService.svc"
binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IAuthenticationService"
contract="MyService.IMyService"
name="WSHttpBinding_IMyService">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
</client>
</system.serviceModel>
但是每当我尝试初始化我的服务客户端时,我都会收到以下错误
在 ServiceModel 客户端配置部分中找不到引用合同“MyServices.IMyServices”的默认端点元素。这可能是因为找不到您的应用程序的配置文件,或者因为在客户端元素中找不到与此协定匹配的端点元素。
即使应用程序默认添加了对 app.config 的端点引用,我尝试复制到 Web.config(如大多数问答论坛中所建议的那样)并运行它,我的客户端仍然没有初始化,它仍然找不到结尾-观点。我在这里想念什么?
【问题讨论】:
-
我们在这里讨论的是什么类型的客户?控制台/WinForm/WPF/Web?我有一种感觉,你把配置放在类库项目的输出文件夹中,但实际上你应该把它放在使用它的主机的配置文件中。无论是控制台/桌面应用程序/网络应用程序
-
@Menahem 你是对的。客户端位于类库(控制台应用程序)中,然后我的 Web 项目将其用作参考。我的 app.config 在类库项目中。我将服务模型端点定义复制到我的 Web 项目的配置文件中,现在它可以正常工作了。感谢您的观察。我应该从一开始就想到这一点。
-
我把它放在帮助别人的答案中。
标签: c# web-services wcf