【发布时间】:2010-12-22 12:39:32
【问题描述】:
我正在实现基于第 3 方 WSDL 的 WCF 服务。我不想同步处理消息,而是想将 xml 转储到数据库中,并由另一个部分进程处理。直接使用 WCF Message 类是解决这个问题的正确方法吗?还是应该让 WCF 反序列化消息并重新序列化,以便将其放入数据库中?
澄清一下,我不能使用 WCF MSMQ 绑定,因为第 3 方已经规定这将是一个肥皂网络服务。我只是想以某种方式将消息排队,以便处理可以异步进行。
【问题讨论】:
我正在实现基于第 3 方 WSDL 的 WCF 服务。我不想同步处理消息,而是想将 xml 转储到数据库中,并由另一个部分进程处理。直接使用 WCF Message 类是解决这个问题的正确方法吗?还是应该让 WCF 反序列化消息并重新序列化,以便将其放入数据库中?
澄清一下,我不能使用 WCF MSMQ 绑定,因为第 3 方已经规定这将是一个肥皂网络服务。我只是想以某种方式将消息排队,以便处理可以异步进行。
【问题讨论】:
你可以使用MSMQ 吗?这是经典的消息队列系统,WCF 支持它。
您可以从该第三方服务接收消息,然后将其放入 MSMQ 以供以后处理。
至于消息与反序列化对象:两者都可以,但我认为拥有一个真正的 .NET 对象更容易处理。
更多信息:
【讨论】:
您是否有理由希望他们去数据库?调查 MSMQ 作为一种适用的替代方案可能在这里很聪明......这样它更接近于配置更改,而不是大量的自定义开发。
如果您确实需要这样做,我建议为此创建一个自定义通道堆栈(客户端和服务器)。然后,是的,您只需序列化和反序列化消息。
【讨论】: