NServiceBus简单重试机制,我该如何调试(基于AsyncPages示例)

时间:2010-12-06 19:56:36

标签: nservicebus

您好
我有一个用户注册的网站,我们需要通过soap webservice调用将它们添加到旧系统。这些webservice调用是队列化的,以便异步重试... 我从NServiceBus下载中复制了AsyncPages示例。

然而,消息似乎在没有被处理的情况下进出队列(也没有放在错误队列中)。 (消息显示在期刊中)

我的网站配置如下:

<UnicastBusConfig>
    <MessageEndpointMappings>
        <add Messages="FooComMessages" Endpoint="FooComSignupService"/>
    </MessageEndpointMappings>
</UnicastBusConfig>

我点击按钮时会看到这个测试代码:

Global.Bus.Send(new CreateMemberContractRequest[] 
                    {new CreateMemberContractRequest()
                        {birthdate = DateTime.Parse("4 oct 1975")}
                     }
                );

我的留言:

namespace FooComMessages
{
    [Serializable]
    public class CreateMemberContractRequest : IMessage
    {
        public DateTime birthdate { get; set; }
//.... snip....//
    }
}

我的处理程序配置:

  <MsmqTransportConfig InputQueue="FooComSignupService" ErrorQueue="FooComSignupServiceErrors" NumberOfWorkerThreads="1" MaxRetries="20" />
  <UnicastBusConfig>
    <MessageEndpointMappings>
      <add Messages="FooComMessages" Endpoint="FooComSignupService" />
    </MessageEndpointMappings>
  </UnicastBusConfig>

我的处理程序代码:

namespace FooComSignupService
{
    public class CreateMemberContractRequestHandler : IHandleMessages<CreateMemberContractRequest>
    {
        public IBus Bus { get; set; }
        private static readonly ILog Logger = LogManager.GetLogger(typeof(CreateMemberContractRequestHandler));
        public void Handle(CreateMemberContractRequest message)
        {
            Logger.Info("------------------------------------\nHandling CreateMemberContractRequest. id="+message.webdatabaseid);
            throw new NotImplementedException();
        }
    }
}

编辑: 我正在使用NServiceBus.Host.exe来托管FooComSignupService

有谁知道我可能做错了什么? 我也无法在Handle方法中遇到任何断点。

干杯。
默里。

0 个答案:

没有答案