Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从另一个WCF服务调用一个WCF服务:端点错误?_C#_Visual Studio_Web Services_Wcf - Fatal编程技术网

C# 从另一个WCF服务调用一个WCF服务:端点错误?

C# 从另一个WCF服务调用一个WCF服务:端点错误?,c#,visual-studio,web-services,wcf,C#,Visual Studio,Web Services,Wcf,我有一个WCF服务Service1,该服务引用了另一个WCF服务Service2 这两个服务都是自托管的,在不相互引用时可以正常访问 在Service1中的一个方法中,我调用了另一个服务 public String DoWork() { using(Service2Client client = new Service2Client()) { return client.DoWork(); } } 包含此代码的方法是从引用Service1的另一个项目调

我有一个WCF服务Service1,该服务引用了另一个WCF服务Service2

这两个服务都是自托管的,在不相互引用时可以正常访问

在Service1中的一个方法中,我调用了另一个服务

public String DoWork()
{
    using(Service2Client client = new Service2Client())
    {
         return client.DoWork();
    }
}
包含此代码的方法是从引用Service1的另一个项目调用的,如下所示:

using (Service1Client client = new Service1Client())
{
     result = client.DoWork();
}
当此项目尝试使用该服务时,我收到一条错误消息:

System.ServiceModel.FaultException“1:”在ServiceModel客户端配置节中找不到引用约定“Service2Reference.IService2”的默认终结点元素。这可能是因为找不到应用程序的配置文件,或者在客户端元素中找不到与此约定匹配的端点元素。”

有没有办法解决这个问题?我对WCF相当缺乏经验

我已经阅读了有关添加端点的内容,但我不完全确定要将其添加到哪个配置文件(例如,进行调用的客户端或调用另一个服务的服务主机)


谢谢将客户端标记添加到Service1 App.Config文件。添加到Service1 App.Config文件的客户端终结点应与设置为Service2的App.Config文件的公开终结点匹配。service one中的客户端标记如下所示:

    <system.serviceModel>
        ....Other Config....
        <client>
            <endpoint address="serviceAddress" binding="bindingType"
             bindingConfiguration="BindingConfig" contract="ContractNamespace"
             name="NameOfEndpoint">
        </client>
     </system.serviceModel>

…其他配置。。。。

绑定类型需要与托管服务(示例中的服务2)公开的绑定类型匹配。契约是描述服务公开的方法的接口。

向Service1 App.Config文件添加客户端标记。添加到Service1 App.Config文件的客户端终结点应与设置为Service2的App.Config文件的公开终结点匹配。service one中的客户端标记如下所示:

    <system.serviceModel>
        ....Other Config....
        <client>
            <endpoint address="serviceAddress" binding="bindingType"
             bindingConfiguration="BindingConfig" contract="ContractNamespace"
             name="NameOfEndpoint">
        </client>
     </system.serviceModel>

…其他配置。。。。

绑定类型需要与托管服务(示例中的服务2)公开的绑定类型匹配。Contract是描述服务公开的方法的接口。

谢谢,我在不同的项目中托管服务时遇到了困难,因为它们是在不同的项目中定义的。将绑定和客户端添加到Service1主机的App.Config中修复了它!谢谢,当我在不同的项目中托管服务时,我遇到了困难。将绑定和客户端添加到Service1主机的App.Config中修复了它!