我有一个带有标准服务堆栈 RabbitMQ 抽象的服务堆栈服务。消息队列是为我的类型 MyRequest 自动创建的,我有一个服务方法,我已经设置了它来处理来自 MyRequest.In Queue 的请求
我期待如果我在此方法中抛出异常,消息将被放置在死信队列中。然而,它们只是从 In 队列中删除,而不是进入死信队列
public class MyOtherService : AsmServiceBase
{
public void Any(MyRequest request)
{
try
{
throw new InvalidOperationException("this is an invalid operation");
}
catch (Exception ex)
{
Console.Write("exceptions");
throw;
}
}
}
[Route("/api/myrequest", "POST")]
public class MyRequest : HeliosRequestBase<MyResponse>
{
public string Content { get; set; }
}
public class MyResponse : HeliosResponseBase
{
}
这是 AppHost 中的代码,它将 MyRequest 消息路由到我的服务方法:
RabbitMqServer mqServer = RabbitMqServerFactory
.GetRabbitMqServer(m_ServiceDiscovery).Result;
mqServer.RegisterHandler<MyRequest>(ExecuteMessage);
mqServer.Start();
有人可以解释一下我做错了什么吗?
LEATH
相关分类