C# 从另一个WCF服务调用一个WCF服务:端点错误?
我有一个WCF服务Service1,该服务引用了另一个WCF服务Service2 这两个服务都是自托管的,在不相互引用时可以正常访问 在Service1中的一个方法中,我调用了另一个服务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的另一个项目调
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中修复了它!