我在IIS上部署了一个WCF。现在通过添加它的web引用我在我的应用程序上使用它。
所以我有两个问题:
答案 0 :(得分:1)
如果您使用visual studio进行开发并且可以访问远程WCF服务,这是最简单的解决方案。
如果您正在使用其他IDE进行开发,则可能需要使用SvcUtil来生成代理。
如果您希望拥有一个包含生成的客户端的简单CS文件,您也可以选择使用SvcUtil生成它。
您也可以完全忽略SvcUtil和服务引用向导,并使用ChannelFactory类动态生成代理。
答案 1 :(得分:0)
您应该在Visual Studio(而不是添加Web引用)中为WCF使用“添加服务引用”。
这是最简单的方法 - 因为您可以在Visual Studio中正确执行此操作。它的功能基本上是调用svcutil.exe
(或者你可以自己从命令行手动完成),并创建一个服务代理类供客户端使用。
svcutil.exe
的使用很多 - 您可以从正在运行的服务(或从现有的WSDL / XSD文件)创建客户端代理类,您可以验证服务,您可以从服务导出元数据客户消费,以及更多选择。它是WCF工具的“瑞士军刀”。
WCF使用一个概念,即对服务的所有调用都必须通过客户端代理 - 这是整个WCF运行时所在的位置,以及所有WCF可扩展点所在的位置。此代理将您对客户端上的方法的调用转换为序列化消息,该消息通过网络发送到服务器进行处理,并且还处理从回调到客户端的类和对象的响应“解包”为您的使用
答案 2 :(得分:0)
添加服务引用是最快捷,最简单的方法,但并不总是最好的方法。如果您想要性能,那么使用ChannelFactory<T>
是可行的方法。您应该了解创建客户端代理的不同方法以及您可以执行的自定义
一个很好的资源是WcfGuidanceForWpf。不要让它中的WPF吓到你,因为它对于一般的WCF也是一个很好的指导。