鑑於Web是一種非常單向的同步體系結構,使用MVC4的NSB Web應用程序有什麼好處嗎?NServiceBus在Web/MVC4 + SQL體系結構中有用嗎?
我喜歡NSB自帶的容錯性和易用性,但是由於該技術都是關於單向異步消息傳遞的,所以我怎樣才能以這種方式設計我的應用程序,使得用戶不會經常)注意到他們的命令在回發時沒有完成?在設計我的UI時,我應該採用什麼樣的方式來自然地適合NServiceBus的曲率?
事實上,它似乎NSB是一個網站,它的SQL存儲,因爲用戶總是假設「工作」時,他們的瀏覽器做清爽完成之間的不必要的複雜性。在這方面我錯了嗎?
編輯:我見過其他解決方案,每個命令處理程序在NSB服務完成工作時發佈事件,並且ASP.NET項目上的事件處理程序將創建Java腳本的「存根文件」啓用頁面不斷輪詢以指示操作已完成。這是彌合單向同步和異步平臺之間差距的唯一方法嗎?
你應該考慮在SignalR中使用NServiceBus。您可以擁有一個集線器,其中包含一個將通知客戶端完成命令的方法。當一個命令完成時,NServicebus將調用Hub服務器代碼。 – rpgmaker
昨晚我看着SignalR。我喜歡它作爲雙工通信的解決方案,但它不會在網絡上使用NSB購買任何東西。核心問題是命令可能會或可能不會在回發完成之前執行。我懷疑答案是否定的,NSB與Web不兼容,或者我需要從根本上處理User Inerface設計。 –
如果將命令完成存儲在數據存儲中,則使用SignalR仍然可以工作。當回發完成時使用SignalR讀取它 – rpgmaker