Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.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# Can';t通过类库使用WCF服务客户端_C#_Wcf - Fatal编程技术网

C# Can';t通过类库使用WCF服务客户端

C# Can';t通过类库使用WCF服务客户端,c#,wcf,C#,Wcf,我在上创建了一个简单的WCF服务 我可以创建一个客户端,用控制台应用程序调用web服务方法,但在类库中创建WCF客户端时出错。 找不到引用协定的默认终结点元素 VS2010 测试客户端在x64中编译 然后我创建了一个简单的测试应用程序,包含ConsoleApp和ClassLib。这两个项目都将WCF服务添加为服务引用 类1包含测试函数 public void Test() { ServiceReference2.TSI7WCFServiceClient clien

我在上创建了一个简单的WCF服务

我可以创建一个客户端,用控制台应用程序调用web服务方法,但在类库中创建WCF客户端时出错。

找不到引用协定的默认终结点元素

  • 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。没问题。快乐编码!