在我的客户端,我正在尝试从服务中声明实体类型....
MyService.MyClass myClass = new MyService.MyClass();
....
MyClass不可用。
MySerlass所在的程序集由MyService引用。我错过了什么?
答案 0 :(得分:1)
从客户端的角度来看,服务只是接口,客户端无法访问服务器的内容。您可能需要的类型应作为外部合同的一部分公开(如在单独的程序集中)。
答案 1 :(得分:1)
通常,为了保留服务边界,您可以在客户端使用mex生成的代理类;这些只是结构,所以没有任何方法等(只是属性),甚至可能有不同的名称(几乎可以肯定是不同的名称空间)。
然而;如果这个.NET到.NET,您可以获得WCF(通过svcutil或IDE)来重用现有程序集中的类型。通过IDE,它会自动执行此操作(默认情况下 - 您可以禁用它),如果您对包含匹配类型的dll的引用。在命令行中,使用/r
IIRC。
答案 2 :(得分:0)
您可能想要添加服务参考。请注意,生成的类与服务器实现的名称/命名空间略有不同。