我希望使用MsmqIntegrationBinding与传统队列集成,该队列具有序列化对象作为邮件正文。有没有人想出一种方法来获取消息体的“元数据”并创建服务端类以在服务中使用?
例如,如果我从系统A放入一个序列化的Product对象并且我的服务需要使用它,如果我没有Product类,如何提供MsmqMessage类型?我想在一个单独的程序中读取一条消息,反序列化,然后通过代码dom发出。想法?
答案 0 :(得分:0)
嗯...在WCF中,您可以定义服务方法,这些方法接受(并且可选地返回)无类型Message
类型。这似乎很适合你的账单。
除了使用强类型消息之外,您还必须在客户端上完成所有消息的组合,并通过读取原始XML来拆分服务器 - 但这似乎就是您所需要的寻找,对吧?
在此处查找更多信息和示例:
无类型消息有一些限制,例如你只能在服务器上阅读一次,但我认为你应该能够用这个来管理你的场景。
马克
答案 1 :(得分:0)
我全心全意地建议反对尝试在运行时在消息目标中发出反序列化类型。在目标处使用XML来获取所需的数据,或者构建源和目标都可以遵循的数据协定。