使用WCF的不同方法

使用WCF的不同方法,wcf,Wcf,我在IIS上部署了WCF。现在,通过添加它的web引用,我正在我的应用程序上使用它 所以我有两个问题: 这是消耗WCF的最佳方法吗 如果第一个问题的答案是肯定的,那么svcutil.exc的作用是什么,我的意思是创建wcf代理类有什么用。如果答案是“不”,那为什么呢 如果您使用VisualStudio开发并访问远程WCF服务,这是最简单的解决方案 如果您正在使用另一个IDE进行开发,则可能需要使用SvcUtil生成代理 如果您希望有一个包含生成的客户机的简单CS文件,您也可以选择使用svcuti

我在IIS上部署了WCF。现在,通过添加它的web引用,我正在我的应用程序上使用它

所以我有两个问题:

  • 这是消耗WCF的最佳方法吗
  • 如果第一个问题的答案是肯定的,那么svcutil.exc的作用是什么,我的意思是创建wcf代理类有什么用。如果答案是“不”,那为什么呢

  • 如果您使用VisualStudio开发并访问远程WCF服务,这是最简单的解决方案

    如果您正在使用另一个IDE进行开发,则可能需要使用SvcUtil生成代理

    如果您希望有一个包含生成的客户机的简单CS文件,您也可以选择使用svcuti生成它

    您也可以完全忽略SvcUtil和服务引用向导,并使用ChannelFactory类动态生成代理。

    您应该在Visual Studio中为WCF使用“添加服务引用”(而不是添加Web引用)

    这是最简单的方法,因为您可以在VisualStudio中正确地执行它。它所做的基本工作是调用
    svcuti.exe
    (或者您可以自己从命令行手动执行),并创建一个服务代理类供客户端使用

    svcutil.exe
    的使用是多方面的-您可以从正在运行的服务(或从现有的WSDL/XSD文件)创建客户机代理类,可以验证服务,可以从服务导出元数据供客户机使用,以及更多选项。这是WCF工具的“瑞士军刀”


    WCF使用了一个概念,即对服务的所有调用都必须通过客户端代理—这是整个WCF运行时所在的位置,也是所有WCF扩展点所在的位置。此代理将您对客户端方法的调用转换为序列化消息,通过网络发送到服务器进行处理,并且它还处理“解包”调用的响应返回到客户端的类和对象中供您使用。

    添加服务引用是最快、最简单的方法,但并不总是最好的方法。如果您想要性能,那么使用
    ChannelFactory
    是一个不错的选择。您应该知道创建客户端代理的不同方法以及可以执行的自定义操作。

    一个优秀的资源是。不要让其中的WPF吓到你,因为它也是通用WCF的极好指南。

    谢谢你的回答。好的,我从你们那里了解到,使用wcf方法之间并没有显著的区别。我说的对吗?使用“添加服务引用”或使用“svcutil.exe”基本上可以得到相同的结果,是的。选择最适合您的。谢谢,使用channel Factory类有什么好处。动态生成代理它意味着什么?