Possiedo un sito Web complesso esistente creato utilizzando ASP.NET MVC, incluso un back-end del database, un livello dati e il livello dell'interfaccia utente Web. Ricostruire questo sito Web in un'altra lingua non è un'opzione fattibile.Comunicazione tra Node.Js e ASP.NET Applicazione MVC
Ci sono alcuni elementi dell'interfaccia utente su alcune viste (lato client) che trarrebbero vantaggio dall'interattività dal vivo, coinvolgendo sia push che pull, quindi piuttosto che implementare un qualche tipo di server di polling o websocket personalizzato in asp.net, sto cercando per sfruttare node.js per Windows e Socket.io.
Il mio problema è che ho bisogno di una comunicazione bidirezionale tra le due applicazioni. Ogni utente dovrebbe essere in grado di ricevere dati solo dopo essere stati autorizzati sul sito Web ASP.NET, quindi per prima cosa ho bisogno di comunicare. In secondo luogo, una volta determinati eventi si verificano sul sito Web ASP.NET, desidero trasferire immediatamente questi dati sul server Node, per essere trasmessi a specifici utenti o gruppi di utenti. In terzo luogo, vorrei che tutti i dati inviati al server node.js vengano inviati al sito Web ASP.NET per l'elaborazione, poiché è qui che si trova tutta la nostra logica aziendale. L'unica ragione per aggiungere Node.js è avere la possibilità di inviare dati direttamente al client, non voglio creare alcuna logica di business (o il meno possibile).
Mi piacerebbe sapere qual è il metodo più veloce di comunicazione push bidirezionale tra Node.Js e ASP.NET. L'unica buona opzione di cui sono a conoscenza fino ad ora è creare un listener speciale su una porta specifica sul server node.js e connettermi, ma mi chiedevo se c'è un metodo più elegante o più efficiente? So anche che potresti usare un database tra di loro ma sicuramente questo dovrebbe essere interrogato e sarebbe meno efficiente? Entrambi i server saranno in esecuzione sullo stesso server in un progetto di Visual Studio.
Mille grazie per l'aiuto che puoi fornire.
Per i nuovi arrivati a questa domanda, c'è una libreria chiamata [EdgeJS] (http://tjanczuk.github.io/edge/#/) che è un'alternativa alle soluzioni proposte. La cosa migliore è che va in entrambe le direzioni: puoi avere .NET o Node come processo di controllo. –