我一直在努力设置使用 msmqIntegrationBinding 的工作流服务。我现在遇到的问题是我总是得到这个序列化异常“System.ServiceModel.ProtocolException:反序列化消息时遇到错误。无法接收消息。---> System.Runtime.Serialization.SerializationException:发生错误在反序列化 MSMQ 消息的 XML 正文时。无法接收消息。确保服务合同使用适当的 [ServiceKnownType] 属性进行修饰,或者在 MsmqIntegrationBindingElement 上设置了 TargetSerializationTypes 属性。
据我了解,即使我在服务合同和工作流程中都使用通用类型MsmqMessage<MyMessageType>,序列化帮助程序也找不到任何类型来序列化消息。
MyMessageType是从带有 xsd.exe 的 .xsd 生成的。
更新:问题已解决 我在合同(接口)上为 WCF(Action、ServiceKnownType ...)进行了所有设置,而不是在工作流程中进行。当我把它移到工作流程中时,一切都开始工作了!!