c# – 覆盖WCF服务中的ToString方法
发布时间:2020-12-15 08:28:50 所属栏目:百科 来源:网络整理
导读:这是我的服务生成类: public partial class MyClass : object,System.Runtime.Serialization.IExtensibleDataObject,System.ComponentModel.INotifyPropertyChanged { } 我正在使用自己的服务.在MyClass中,我覆盖了ToString(),但我的客户端没有.我想要生成
这是我的服务生成类:
public partial class MyClass : object,System.Runtime.Serialization.IExtensibleDataObject,System.ComponentModel.INotifyPropertyChanged { } 我正在使用自己的服务.在MyClass中,我覆盖了ToString(),但我的客户端没有.我想要生成它或者MyClass是部分的我能够自己覆盖ToString吗? 我知道我可以用生成的.cs文件写.什么是最好的方法,我应该做什么? 解决方法
如果要定义客户端和服务,则不需要使用WSDL生成类.将共享对象移动到单独的程序集中,并从客户端和服务器项目中引用它.当您创建服务引用时,有一个“高级”选项(我认为默认情况下处于启用状态),它重用WSDL中的任何已知类而不是生成新类.
更好的是,如果将服务合同移动到共享库中,甚至不需要创建服务引用,则可以直接调用ChannelFactory并消除整个自动生成的代理类. 我在博客上演示了如何完成这两件事:http://blog.kutulu.org/2012/03/proxy-free-wcf-ditching-proxy.html 如果您绝对需要使用服务中的WSDL(例如,您无法控制服务端并且可能会对您进行更改),那么您可以扩展VS创建的部分类(如您所建议的那样).这些天你从VS获得的大多数自动生成类都是部分类,专门用于实现这种扩展.当然,缺点是没有什么能保证客户端和服务器的附加部分类方法是相同的.我绝对认为这是最后的选择. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |