2015-02-11 78 views
1

我已经创建了http://localhost:20999/WCFService无法通过类库

一个简单的WCF服务,我可以创建一个客户端调用与控制台应用程序的Web服务方法使用WCF服务客户端,但是当创建一个WCF得到一个错误客户端在类库中。

无法找到引用的合同......

  • VS2010
  • 测试客户端在64位编译

然后,我已经默认终结点元素创建了一个简单的测试应用程序,包含ConsoleApp和ClassLib。这两个项目都将WCF服务添加为服务引用。

Client solution

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(); 

,这里是导致 Console result

+0

这看起来像是配置问题,而不是编程问题。你是否跟进了错误信息给出的提示? – 2015-02-11 03:27:17

回答

3

确保复制端点Informa公司从类项目的app.config到控制台项目的app.config。

+0

我对WCF很新颖,顺便说一句,如果我在ClassLib中使用命名空间ServiceReference1,与Console lib相同,它们都可以工作。 – 2015-02-11 03:31:34

+0

你的意思是手动复制app.config内容吗?我试试 – 2015-02-11 03:33:06

+0

服务引用是指app.config中的一个端点配置。如果该结束点不存在于app.config中,或者存在其他名称,则不会找到它。所以你必须确保两个项目中都存在绑定和端点。我不确定为什么你会在两个不同的项目中调用相同的WCF服务。最好是使它成为一个或另一个。 所以所有这一切都说,是的,你需要手动将这些信息从app.config复制到app.config。 – 2015-02-11 03:34:49