2012-10-25 54 views
1

我想在Azure中切換託管的工作進程以使用xml序列化程序而不是默認的json序列化程序。我已經通過實施IWantCustomInitialization這樣做到了這一點:帶Azure和XML串行器的NServiceBus

public class BusInitialization : IWantCustomInitialization 
{ 
    public void Init() 
    { 
     Configure.Instance.XmlSerializer(); 
    } 
} 

然而,當我開始了雲計算解決方案,我得到以下錯誤:

Exception when starting endpoint, error has been logged. Reason: Type NServiceBus.Unicast.Transport.CompletionMessage was not registered in the serializer. Check that it appears in the list of configured assemblies/types to scan.

當我使用沒有自定義的初始化和它去JsonSerializer,一切安好。有沒有人有建議,我應該在哪裏看?我使用NSB 3.2.8。

回答

2

認爲這是固定的,但我只是檢查,看起來像在3.2.8 jsonserializer還不能輕鬆覆蓋。這已經在開發分支上得到修復,但還沒有進入發佈階段,它將在下一個版本中發佈。

如果您不能等待下一個版本,那麼你可以解決此通過類似這樣自己的角色和角色的處理程序替換AsA_Worker:

3.2.8版本https://github.com/NServiceBus/NServiceBus/blob/master/src/azure/Hosting/NServiceBus.Hosting.Azure/Roles/Handlers/WorkerRoleHandler.cs

開發版本https://github.com/NServiceBus/NServiceBus/blob/develop/src/azure/Hosting/NServiceBus.Hosting.Azure/Roles/Handlers/WorkerRoleHandler.cs

親切的問候, 伊夫

+0

謝謝伊夫。我也得到了開發分支,將看你的代碼,以瞭解這是如何工作的。 –