我有一個使用ASP.NET MVC構建的現有複雜網站,包括數據庫後端,數據層以及Web UI層。用另一種語言重建本網站不是一個可行的選擇。Node.Js和ASP.NET MVC應用程序之間的通信
在一些視圖(客戶端)上有一些UI元素會受益於實時交互性,涉及推和拉,所以不是在asp.net中實現某種自定義長輪詢或websocket服務器,我期待利用Windows的node.js和Socket.io。
我的問題是我需要兩種應用程序之間的雙向通信。每個用戶只有在ASP.NET網站上獲得授權後才能接收數據,因此我首先需要溝通。其次,一旦某個事件發生在ASP.NET網站上,我想立即將這些數據推送到節點服務器,以便廣播給特定的用戶或用戶組。第三,我希望發送到node.js服務器的任何數據被推送到ASP.NET網站進行處理,因爲這是我們所有的業務邏輯所在。添加Node.js的唯一原因是有可能將數據直接推送到客戶端,我不希望構建任何業務邏輯(或儘可能少)。
我想知道在Node.Js和ASP.NET之間雙向推送通信的最快方法是什麼。目前爲止,唯一不錯的選擇是在node.js服務器上的特定端口上創建一個特殊的偵聽器並連接到該端口,但我想知道是否有更優雅或更高效的方法?我也知道你可以在兩者之間使用數據庫,但是肯定需要進行輪詢並且效率較低?這兩個服務器將在Visual Studio項目下的同一臺服務器上運行。
非常感謝您提供的任何幫助。
對於這個問題的新手,有一個名爲[EdgeJS](http://tjanczuk.github.io/edge/#/)的庫,它是所提出的解決方案的替代方案。最好的事情是它可以兩種方式 - 你可以有.NET或節點作爲控制過程。 –