【问题标题】:Can't find WCF end points找不到 WCF 端点
【发布时间】: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


【解决方案1】:

我感觉你是把config放在类库项目的输出文件夹里,但实际上应该放在使用它的主机的config文件中。无论是控制台/桌面应用程序/网络应用程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-10
    • 2010-12-30
    相关资源
    最近更新 更多