C# Can';t通过类库使用WCF服务客户端
我在上创建了一个简单的WCF服务 我可以创建一个客户端,用控制台应用程序调用web服务方法,但在类库中创建WCF客户端时出错。 找不到引用协定的默认终结点元素C# Can';t通过类库使用WCF服务客户端,c#,wcf,C#,Wcf,我在上创建了一个简单的WCF服务 我可以创建一个客户端,用控制台应用程序调用web服务方法,但在类库中创建WCF客户端时出错。 找不到引用协定的默认终结点元素 VS2010 测试客户端在x64中编译 然后我创建了一个简单的测试应用程序,包含ConsoleApp和ClassLib。这两个项目都将WCF服务添加为服务引用 类1包含测试函数 public void Test() { ServiceReference2.TSI7WCFServiceClient clien
- VS2010
- 测试客户端在x64中编译
然后我创建了一个简单的测试应用程序,包含ConsoleApp和ClassLib。这两个项目都将WCF服务添加为服务引用 类1包含测试函数
public void Test()
{
ServiceReference2.TSI7WCFServiceClient client = new ServiceReference2.TSI7WCFServiceClient();
Console.WriteLine(client.Invoke("123", "456"));
}
和ConsoleApp Program.cs
Console.WriteLine("---- Call WCF directly ----");
ServiceReference1.TSI7WCFServiceClient client = new ServiceReference1.TSI7WCFServiceClient();
String result = client.Invoke("Test", "This is Parameter");
Console.WriteLine("Result = {0}", result);
client.Close();
Console.WriteLine("\n\n---- Call WCF via ClassLib ----");
ClassLibrary1.Class1 clientLib = new ClassLibrary1.Class1();
clientLib.Test();
这是结果
确保将端点信息从类项目的app.config复制到控制台项目的app.config。这看起来像是配置问题,而不是编程问题。您是否跟进了错误消息中给出的提示?顺便说一句,我对WCF非常陌生,如果我在ClassLib中使用名称空间ServiceReference1,与控制台lib相同,这两个名称空间都可以工作。服务引用引用引用app.config中的端点配置。如果app.config中不存在该端点,或者该端点具有其他名称,则它将找不到该端点。因此,您必须确保绑定和端点在两个项目中都存在。我不知道为什么你会在两个不同的项目中调用相同的WCF服务。最好是这样或那样。所有这些都说明,是的,您需要手动将这些信息从app.config复制到app.config。我只想在classLib项目中使用WCF服务,但这只是一个解决问题的测试项目。顺便说一句,这是工作,非常感谢。我必须将端点从ClassLib添加到ConsoleApp。没问题。快乐编码!