C# 剪贴板中使用的IExtensibleDataObject

C# 剪贴板中使用的IExtensibleDataObject,c#,wcf,clipboard,C#,Wcf,Clipboard,我正在使用带有net.tcp端点的WCF服务。 我已经在我所有的DTO上实现了IExtensibleDataObject接口,以拥有向前兼容的客户端。 为此,我将DTO的ExtensionData属性映射到相应的模型类,然后在向客户机发送回调时,信息保持不变。 因为我的应用程序能够有多个并行运行的实例,所以我必须在从一个客户机实例到另一个客户机实例的复制/粘贴操作中持久化ExtensionDataObject 现在的问题是,如果我尝试将模型映射到剪贴板中的表示,我还必须将ExtensionDat

我正在使用带有net.tcp端点的WCF服务。 我已经在我所有的DTO上实现了
IExtensibleDataObject
接口,以拥有向前兼容的客户端。 为此,我将DTO的ExtensionData属性映射到相应的模型类,然后在向客户机发送回调时,信息保持不变。 因为我的应用程序能够有多个并行运行的实例,所以我必须在从一个客户机实例到另一个客户机实例的复制/粘贴操作中持久化
ExtensionDataObject

现在的问题是,如果我尝试将模型映射到剪贴板中的表示,我还必须将ExtensionData属性映射到剪贴板对象,但这不起作用,因为ExtensionData对象不可序列化。。 从剪贴板粘贴时,我总是会遇到CLIPBRD_E_BAD_数据错误


有没有可能?

为什么不直接使用XML序列化并将XML放在剪贴板上?扩展数据将被序列化为XML。我真的不明白你在问什么-你为什么要使用剪贴板等等。你根本没有解释过。我确实解释过为什么我必须使用剪贴板。因为我必须将数据从应用程序的一个实例复制到另一个实例。序列化为xml将是一个可能的解决方案,这是真的。为什么WCF服务使用剪贴板?剪贴板用于GUI应用程序。我不在wcf服务中使用剪贴板。我在使用WCF服务的客户端应用程序中使用剪贴板,WCF服务的所有DTO实现IEExtensibleDataObject接口,以确保正确的往返逻辑。WCF服务(DTO)被映射到一个模型(MVVM模式),这些模型在客户端应用程序中使用。