好的,情况是我们有一个类,PatientDto
和一个由 Castle 生成的 DynamicProxy PatientDtoProxy
,。
我们在 Silverlight 客户端中使用此代理,然后希望通过 WCF 服务调用将其发送回服务器。
WCF 服务合同需要一个PatientDto
(即不是代理),并且如预期的那样,如果您尝试发送其他任何内容,它就会崩溃。
从本质上讲,我们觉得我们应该将其“转换”回 aPatientDto
以使事情正常工作......但实际上,即使您将引用转换为 PatientDto,它也不会改变任何东西——WCF 仍然可以看到该对象在内存中作为一个PatientDtoProxy
并炸毁。
显然,对新版本进行深度复制PatientDto
是一种选择(并且确实有效),但令人不快。有什么我们没有想到的技术吗?