将DataContractSerialization添加到我的ServiceBus队列

时间:2015-12-04 11:04:52

标签: azure datacontractserializer azure-worker-roles azureservicebus azure-cloud-services

因此,我有一个当前正在工作的角色,并且正在从各种来源发布消息。

目前它已经写好,以便它接收消息,然后通过以下方式获取对象:

message.GetBody<T>();

这很好用,但是我改进了支持方面的东西,并且使用这种技术让我觉得对象被编码的方式,在查看软件中的消息时它并不是最好的例如Service Bus Explorer,所以我决定添加DataContractSerializer

我的主要问题是,将消息提交到我的服务总线的消息来源不会同时被释放,而且我想独立地释放我的工作者角色,它将同时适用于旧源和那些具有新DataContractSerializer实现的源。

基本上,我的新员工角色现在将具有以下内容:

message.GetBody<T>(new DataContractSerializer(typeof(T)));

问题在于,预计引用NuGet包的源也会以相同的方式序列化。

我已经想到了解决这个问题的两种方法,说实话,我对此并不满意:

第一个是传递计数失败观察者,并且在尝试n时,恢复到较旧的功能(这不是很好)。

第二个是一个单独的工人,但同样,这很臭。

有没有人对我如何才能最好地实现这一目标有任何想法或指导?

0 个答案:

没有答案