NServiceBusを使用する統合サービスのスイートが私のラップにドロップされました(残念ながら、元の実装には関与していませんでした。 )。NServiceBus.Unicast.Transport.CompletionMessageがシリアライザに登録されていません
サービスは、開発環境&のテスト環境で正常に動作します。私は彼らを私たちの実稼働環境で動かすことはできません。私はエラーが発生する
NServiceBus.Unicast.Transport.CompletionMessage was not registered in the serializer.
Check that it appears in the list of configured assemblies/types to scan.
私はサーバ上の設定ファイルをチェックしていて、ほとんど同じです。特にMsmqTransportConfig
およびUnicastBusConfig
ブロックは同一です。 2つの環境の主な違いは、本番環境ではWeb /アプリケーション/データベース層が別々のサーバー上にあるのに対し、テスト環境ではすべてが同じサーバー上に存在することです。しかし、インテグレーションサービスの呼び出しはアプリケーション層からのみ行われ、実稼働環境でもアプリケーション層とインテグレーションサービスは同じサーバー上に存在します(少なくとも今のところ)。
私はドキュメント(.chmファイル)をダウンロードしましたが、私がクリックしたすべてのトピックには "broken link"と書かれています。
また、this oneを含むいくつかの質問と回答を読んだことがありますが、コードがテスト環境で動作しているため、私はそれを変更することに幾分躊躇しています。
我々は次のようにNServiceBusを設定している:
NServiceBus.Configure.WithWeb()
.Log4Net()
.StructureMapBuilder(ObjectFactory.Container)
.XmlSerializer()
.MsmqTransport()
.IsTransactional(true)
.PurgeOnStartup(false)
.MsmqSubscriptionStorage()
.UnicastBus()
.LoadMessageHandlers()
.ImpersonateSender(false)
.CreateBus()
.Start();
を、輸送がそうのように構成されています
<MsmqTransportConfig
InputQueue="OutboundSubscriptionRequestQueue"
ErrorQueue="error"
NumberOfWorkerThreads="1"
MaxRetries="5"
/>
<UnicastBusConfig
DistributorControlAddress=""
DistributorDataAddress=""
ForwardReceivedMessagesTo="">
<MessageEndpointMappings>
</MessageEndpointMappings>
</UnicastBusConfig>
私は本当にどのような援助をお願い申し上げます。私は必ずしも私に答えを伝えたいと思っているわけではなく、正しい方向にちょうど微笑んでいます...今は私が暗闇の中で撮影しているかのように感じます。
ヘルプファイルをダウンロードした後、そのファイルをブロック解除してください。 –
ああ...ありがとうUdi、私は前にそれをしなければならなかった。 – David