C# 如何跨WCF和Winforms共享从ASMX服务生成的类型

C# 如何跨WCF和Winforms共享从ASMX服务生成的类型,c#,.net,winforms,wcf,web-services,C#,.net,Winforms,Wcf,Web Services,我有一个WCF服务,作为客户端和ASMX服务之间的中间层。我已经从ASMX服务中提取了这些类,并使用SVCUtil将它们包装在一个单独的dataContract dll中以生成代码。然后,我从Winforms客户端和WCF服务添加了对共享DLL的引用 winforms客户端在共享数据协定dll中填充一个类型并将其传递给WCF服务,但当WCF服务接收到该类型时,该类型为null 要在共享程序集中成功包装这些ASMX类型,我还需要采取其他步骤吗?为了避免生成的代理出现问题,并完全控制调用服务方法,请

我有一个WCF服务,作为客户端和ASMX服务之间的中间层。我已经从ASMX服务中提取了这些类,并使用SVCUtil将它们包装在一个单独的dataContract dll中以生成代码。然后,我从Winforms客户端和WCF服务添加了对共享DLL的引用

winforms客户端在共享数据协定dll中填充一个类型并将其传递给WCF服务,但当WCF服务接收到该类型时,该类型为null


要在共享程序集中成功包装这些ASMX类型,我还需要采取其他步骤吗?

为了避免生成的代理出现问题,并完全控制调用服务方法,请使用共享(客户端)lib WCF契约并创建您自己的代理类。有关详细信息,请参见和。

如果我拥有服务的两个部分,我就不会使用它们。这只有在您不拥有服务时才有用,因此您可以自动生成不存在的类型或您无法通过某些服务SDK访问的类型。我通常只是将从服务的服务端推送的模型放在一个共享DLL中,然后客户端可以在反序列化响应时引用和使用该DLL。