因此,我有一个当前正在工作的角色,并且正在从各种来源发布消息。
目前它已经写好,以便它接收消息,然后通过以下方式获取对象:
message.GetBody<T>();
这很好用,但是我改进了支持方面的东西,并且使用这种技术让我觉得对象被编码的方式,在查看软件中的消息时它并不是最好的例如Service Bus Explorer,所以我决定添加DataContractSerializer
我的主要问题是,将消息提交到我的服务总线的消息来源不会同时被释放,而且我想独立地释放我的工作者角色,它将同时适用于旧源和那些具有新DataContractSerializer
实现的源。
基本上,我的新员工角色现在将具有以下内容:
message.GetBody<T>(new DataContractSerializer(typeof(T)));
问题在于,预计引用NuGet包的源也会以相同的方式序列化。
我已经想到了解决这个问题的两种方法,说实话,我对此并不满意:
第一个是传递计数失败观察者,并且在尝试n时,恢复到较旧的功能(这不是很好)。
第二个是一个单独的工人,但同样,这很臭。
有没有人对我如何才能最好地实现这一目标有任何想法或指导?