【发布时间】:2010-11-16 16:10:51
【问题描述】:
我目前正在尝试动态调用 WCF 服务See here,因此,当我通过 Visual Studio 的 GUI 添加服务引用时,我试图了解背后发生了什么......生成了什么......?创建一个对象并创建一个隐式引用...
引用是否包含在特定容器中,是一种池吗?
【问题讨论】:
我目前正在尝试动态调用 WCF 服务See here,因此,当我通过 Visual Studio 的 GUI 添加服务引用时,我试图了解背后发生了什么......生成了什么......?创建一个对象并创建一个隐式引用...
引用是否包含在特定容器中,是一种池吗?
【问题讨论】:
当您添加服务引用时,VS 会为该服务生成一个代理类。此类将您的服务端点定义的接口作为其 ServiceContract 实现,因此它似乎在使用代码,就好像它是执行操作的实际对象一样,但它包含并使用由端点和绑定定义的通信通道来调用公开的服务方法。
如果您没有符合服务所需的 DataContracts 签名的类,VS 也会生成这些类,但是如果您已经引用了与 DataContract 标记相同的类(通常是因为您已经使用客户端代码引用了项目中包含 DataContracts 的项目)它只会使用这些。也可以为 Svcutil(命令行工具)提供这些 DataContracts 的位置参考列表。
【讨论】: