我們正在討論設置通知服務的正確方法。這種服務將被各種應用程序調用,服務將需要返回相關數據。MSMQ/.EXE與Web服務.... MEF IoC?
我的感覺是你只是創建一個Web服務,內部網門戶(或任何其他)可以通過發送用戶ID和作爲回報獲取任何信息(用戶425報告是90天到期,應用程序已拒絕..等等..)我們有多個內聯網應用程序以及門戶(讓我們稱他們爲應用程序A,B和C)。
另一個人在這裏說我們需要使用MSMQ ..所以我做了一些研究,並且據我所知,MSMQ的意義在於當你有一個用戶執行某種請求很長而且不能同步運行..如果這些呼叫需要0.02秒.. MSMQ的優勢是什麼?我正在做的是發回一條消息...
那麼哪個更有意義?
獎勵:應用程序A,B和C都有自己的業務邏輯,用於確定將消息發送回主門戶應用程序......所以我可以。
通知Web服務是否包含應用程序A B和C的所有邏輯?現在有問題了,我正在理解應用程序AB和C如何工作,以便我可以讓WS回發相應的消息。
使用MEF/IoC並作爲構建過程的一部分我得到一個MEF .DLL實現一定的接口。所以我的通知程序jsut去各種應用程序,並說給我你的BIZ LOGIC DLL ....所以一旦我有所有的DLL,並知道接口,我可以循環通過thme,並獲得我需要的數據...這樣它直到A,B和C的開發者都是他們的領域的expoerts來實現這個消息傳遞接口。
幫助。 (我幾乎沒有理解MEF,所以我可以離開那裏)
我最初的想法是版本1。這更簡單,重要。有人登錄後,它會向通知系統發出請求,以便恢復任何通知。 選項2對我來說似乎很好,如果這些應用程序正在爲我的通知服務創建工作,這將是長期運行的... 因此,假設通知服務可以開始和完成任何它在0.05秒內做的事情..我不查看有任何隊列的點 – punkouter 2010-06-27 17:09:44
該隊列爲您提供了一些額外的可靠性,因此如果在Web服務調用期間發生某些嚴重故障(Windows更新),而不是在以太網中丟失,它實際上會寫入隊列,所以當事情發生故障或重新開始時,處理等待的消息。這實際上取決於你如何看待你的架構,你問服務的狀態還是你的服務提醒其他服務有關正在發生的事情。 – ckramer 2010-06-28 00:08:29
如果我創建了一個更新「通知」表並在發現需要發送通知時創建條目的Windows服務。 然後,我想其他應用程序可以調用一個Web服務,該服務查找nable並返回集合的通知.. 我不明白pub/sub如何幫助這裏或否則我不明白...內部應用程序不是'訂閱 以任何方式,除了他們有代碼調用通知Web服務..應用程序不會發布任何狀態更改..通知Web服務具有邏輯和數據庫。 – punkouter 2010-06-28 14:27:51