Используйте Bus.Send (не публиковать) из веб-приложений (NServiceBus v3.2.0.0)
У нас есть приложение asp.net mvc3, которое публикует ряд событий. Недавно кто-то указал, что мы должны отправлять сообщения, а не публиковать события из веб-приложения, и сослался на этот отличный пост в блоге, который имеет смысл. Тем не менее, я хочу подтвердить, что пункты, сделанные в посте, по-прежнему действительны для NServiceBus v3.x?
Спасибо!
1 ответ
Я полагаю, что обоснование этого поста всегда будет верным, независимо от версии NServiceBus.
Это, как говорится, ничто не мешает вам опубликовать сообщение с веб-сайта. Идея публикации сообщения заключается в том, что сообщение представляет собой событие, которое обычно создается некоторой конечной точкой обработки. Поскольку веб-приложение на самом деле не должно ничего обрабатывать, а должно отправлять команды конечной точке обработки, само собой разумеется, что веб-приложение не должно публиковать события.
Поэтому, если вы оказались в ситуации, когда кажется, что имеет смысл публиковать данные из своего веб-приложения, это указывает на то, что вам необходимо принять решение о разработке: либо дизайн не является оптимальным (поэтому веб-приложение выполняет обработку), либо вы ограничены в некотором смысле запрещает реализацию конечной точки обработки (может быть, среда общего хостинга).