【发布时间】:2014-10-06 16:10:05
【问题描述】:
我们有一个使用 WCF 构建的系统,我们正在将其转换为使用 Mass Transit 和 RabbitMQ。
因为它是/曾经是 WCF 服务,其操作方式非常 RESTful,因此没有状态或会话。
考虑到这一点,迁移到 Mass Tranist 需要大量样板代码。例如,我们可能有 100 个 WCF 调用。对于每一个,我都必须实现一个单独的Request/Response 对,除了名称之外,它们彼此没有什么不同。显然我什至不能使用继承来抽象出CorrelatedBy<Guid> 语法。
有什么方法可以减少执行此操作所需的样板代码量?
我当前的 MassTransit 代码如下所示:
sbc.Subscribe(subConfig =>
{
subConfig.Handler<CanAllocateLicensedDeviceRequest>((ctx, req) =>
{
bool result = this.licenceActions.CanAllocateLicensedDevice();
ctx.Respond<CanAllocateLicensedDeviceResponse>(new CanAllocateLicensedDeviceResponse() { Result = result });
});
}
我了解需要输入请求,但我是否可以没有一个通用的“布尔”返回类型来响应。 Guid 会不会确保它到达正确的位置?
【问题讨论】:
标签: c# rabbitmq servicebus masstransit