我的问题与此相关:MassTransit 3.2.1 - Validation。
区别在于,我正在寻找一种在总线上发送消息之前对其进行验证的方法,例如ASP.NET之类的模型验证会使用以[Required]
,{{1 }},[Range(x, y)]
,以及实现更复杂的验证规则的可能性。一个更复杂的规则可能是:
“如果属性X等于'SOME_VALUE',则属性Y不应为空”。
理想情况下,可以在创建总线时启用此验证,并且可以在调用[StringLength]
时执行此验证,否则会抛出异常以汇总检测到的所有违规行为。
我尝试使用_bus.Publish<T>(message)
中的[Required]
或System.ComponentModel.DataAnnotations
中的[JsonRequired]
等属性来修饰消息属性,但是无论如何它们都已序列化并通过我的测试Azure服务总线发送。
MassTransit中是否有一项功能可以帮助我进行预发布验证?
谢谢。