C# 选择我们应该采用哪种类型的WCF代理生成路径?
我是WCF服务的新手。我知道三种生成代理的方法C# 选择我们应该采用哪种类型的WCF代理生成路径?,c#,wcf,wcf-endpoint,wcf-proxy,C#,Wcf,Wcf Endpoint,Wcf Proxy,我是WCF服务的新手。我知道三种生成代理的方法 使用服务引用 使用SvcUtil 使用ClientBase 但我不知道在哪种情况下我应该使用哪种类型。在我的情况下,我必须为我没有服务代码的第三方服务生成代理。我不想使用添加服务引用,因为它会给我以下问题。在这篇文章中提到。所以我想使用clientBase。但是我想如果不使用服务引用,我就不能使用它。我很困惑什么时候应该选择哪种代理 在我的情况下,我必须为我没有服务代码的第三方服务生成代理 我将有多个应用程序使用此服务 在这种情况下,最好使用svc
然而,SOAP纯粹主义者会争辩说,供应商提供的唯一东西是SOAP WSDL XML文件,无论如何,您都需要从该文件生成类型。(遗憾的是,.NET中的默认行为是背对背的)我们不向您的库项目添加服务引用,只向您的应用程序添加服务引用。在这种情况下,我必须在多个位置添加服务引用,因为我将有多个应用程序使用此服务。我认为这不是一个好办法。啊,我没有意识到,请看下面我的答案。只有我是服务的所有者,才能使用客户端。正确吗?嗯,您通常需要服务接口类型,除非供应商提供,否则您只需使用在客户端代理生成过程中生成的服务接口类型,到那时已经太晚了。您也可以使用已建立的代码。如果供应商以.NET客户端库的形式向您提供API,您可以使用
ClientBase
及其提供的接口创建自己的代理。但听起来他们并没有这么做。为了回答您的问题,任何人都可以使用ClientBase
,但您首先需要服务合约在使用svcuti生成代理后,我仍然得到“合约”属性无效-值“xxx”根据其数据类型“clientContractType”无效-枚举约束失败。@TBAG。为什么不把这当作一个新问题来问呢。你上面的问题更多的是关于最佳实践,而后者更多的是关于一个特定的问题