我讀this article推動從web表單應用程序的兔子mq消息。Web形式的Rabbitmq:從web表單csharp文件本身推送消息還是業務邏輯是正確的?
從web表單aspx cs類直接推送對象,也就是從button_click事件調用producer.SendMessage(...)或者這應該是業務邏輯的一部分嗎?
該代碼應該從哪個層調用?如何決定這一點?
我讀this article推動從web表單應用程序的兔子mq消息。Web形式的Rabbitmq:從web表單csharp文件本身推送消息還是業務邏輯是正確的?
從web表單aspx cs類直接推送對象,也就是從button_click事件調用producer.SendMessage(...)或者這應該是業務邏輯的一部分嗎?
該代碼應該從哪個層調用?如何決定這一點?
如果您正在進行多層設計,那麼您就走在了正確的軌道上。保持實現(即對RabbitMQ或數據庫或其他服務器的調用)與用戶界面代碼完全分離。否則,如果您必須更改某些內容(例如,切換到MSMQ或某些其他隊列產品),稍後要更改更加困難。
因此,你建議調用producer.SendMessage(...)將其移動到具有依賴注入的業務層,是否正確? – maverick
盡你所能。總有可能RabbitMQ不適合您的需求性能明智,或一千個其他原因。在最佳方法中,客戶端代碼不應該對用於訪問隊列的庫有任何直接依賴關係。 –
它會拋出異常嗎?沒有?那是對的。除此之外的任何東西都只是推薦的模式,這些模式是基於觀點並且超出了StackOverflow的範圍。 – Gusman