我正在尝试将Azure中的托管工作进程切换为使用xml序列化程序而不是默认的json序列化程序。我通过像这样实现IWantCustomInitialization来完成这个:
public class BusInitialization : IWantCustomInitialization
{
public void Init()
{
Configure.Instance.XmlSerializer();
}
}
但是当我启动云解决方案时,我收到以下错误:
启动端点时出现异常,已记录错误。原因:类型NServiceBus.Unicast.Transport.CompletionMessage未在序列化程序中注册。检查它是否出现在要扫描的已配置程序集/类型列表中。
当我没有使用自定义初始化并且它转到JsonSerializer时,一切都很好。有没有人有建议我应该在哪里看?我使用的是NSB 3.2.8。
答案 0 :(得分:2)
认为这是固定的,但我刚检查过,看起来在3.2.8中jsonserializer还不能轻易覆盖。这已经在dev分支上得到修复但尚未发布,它将在下一个版本中发布。
如果您不能等待下一个版本,那么您可以通过将AsA_Worker替换为您自己的角色和角色处理程序来解决此问题:
亲切的问候, 伊夫