首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NServiceBus.Unicast.Transport.CompletionMessage未在序列化程序中注册

NServiceBus.Unicast.Transport.CompletionMessage未在序列化程序中注册
EN

Stack Overflow用户
提问于 2011-06-24 04:29:09
回答 1查看 1.3K关注 0票数 1

一套使用NServiceBus的集成服务被扔到了我的腿上(不幸的是,我没有参与最初的实现,编写代码的人已经离开了)。

这些服务在我们的开发和测试环境中工作得很好;但是我不能让它们在我们的生产环境中运行。我得到了错误

代码语言:javascript
复制
NServiceBus.Unicast.Transport.CompletionMessage was not registered in the serializer. 
Check that it appears in the list of configured assemblies/types to scan.

我检查了服务器上的配置文件,它们几乎完全相同;特别是MsmqTransportConfigUnicastBusConfig块是完全相同的。这两个环境之间的主要区别在于,在生产环境中,web/应用程序/数据库层位于不同的服务器上,而在测试环境中,它们都位于同一服务器上。但是,集成服务调用仅从应用程序层进行,即使在生产中,应用程序层和集成服务也驻留在同一服务器上(至少现在是这样),所以我不确定这是否会有所不同。

我确实下载了文档( .chm文件),但我点击的每个主题都显示“断开的链接”。

我还阅读了一些问题和答案,包括this one,但由于代码在我们的测试环境中工作,我不太愿意对其进行更改。

我们按如下方式配置NServiceBus:

代码语言:javascript
复制
        NServiceBus.Configure.WithWeb()
            .Log4Net()
            .StructureMapBuilder(ObjectFactory.Container)
            .XmlSerializer()
            .MsmqTransport()
                .IsTransactional(true)
                .PurgeOnStartup(false)
            .MsmqSubscriptionStorage()
            .UnicastBus()
                .LoadMessageHandlers()
                .ImpersonateSender(false)
            .CreateBus()
            .Start();

传输配置如下:

代码语言:javascript
复制
  <MsmqTransportConfig
    InputQueue="OutboundSubscriptionRequestQueue"
    ErrorQueue="error"
    NumberOfWorkerThreads="1"
    MaxRetries="5"
  />

  <UnicastBusConfig
    DistributorControlAddress=""
    DistributorDataAddress=""
    ForwardReceivedMessagesTo="">
    <MessageEndpointMappings>
    </MessageEndpointMappings>
  </UnicastBusConfig>

如果有任何帮助,我将不胜感激。我不一定希望得到一个答案,只是在正确的方向上推动一下……现在我觉得我好像是在黑暗中拍摄。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-25 04:23:22

听起来像是nsb无法扫描nservicebus.core.dll中的类型。您能否验证它是否存在,是否未被阻止,以及log4net.dll是否部署在同一目录中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6460247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档