我编写了几个简单的 Web 方法(作为 WCF 服务的一部分),它们使用几个(更复杂的)类作为输入/返回参数。[OperationContract] 属性的每个 Web 方法,[DataContract] 属性的每个数据类,[DataMethod] 属性的类中的每个数据字段。在客户端,我可以通过添加服务引用来调用这些 Web 方法。一切都很好,但是当我在客户端创建上面一些数据类的实例时,它们的构造函数不会运行。因为初始化每个实例有点复杂,所以每次我都认为有一些方法可以通过它们自己的构造函数在客户端初始化实例。提前致谢!宜兰。
问问题
410 次
1 回答
1
服务中数据契约(包括构造函数)上公开的方法仅适用于服务应用程序。添加服务引用将仅重新创建数据协定类的数据结构,因为服务描述无法描述逻辑并且无法序列化逻辑。
使用服务引用创建的所有类都是部分的。您可以创建自己的部分类并添加您自己的自定义构造函数,或者您可以与服务和客户端之间的数据协定共享程序集(但它会共享添加到您的数据协定类的所有逻辑,这通常是您不想要的)。共享程序集将紧密耦合您的客户端和服务。
于 2011-07-04T09:21:11.577 回答