Tôi có một trang web phức tạp hiện có được xây dựng bằng cách sử dụng ASP.NET MVC, bao gồm một cơ sở dữ liệu phụ trợ, lớp dữ liệu, cũng như lớp Web UI. Việc xây dựng lại trang web này bằng một ngôn ngữ khác không phải là một lựa chọn khả thi.Giao tiếp giữa Node.Js và ASP.NET MVC Application
Có một số yếu tố giao diện người dùng trên một số chế độ xem (phía máy khách) sẽ có lợi từ tương tác trực tiếp, liên quan đến cả đẩy và kéo, thay vì triển khai một số loại máy chủ web hoặc máy chủ web tùy chỉnh dài trong asp.net, tôi đang tìm kiếm để tận dụng node.js cho Windows và Socket.io.
Vấn đề của tôi là tôi cần giao tiếp hai chiều giữa hai ứng dụng. Mỗi người dùng chỉ có thể nhận dữ liệu khi họ được ủy quyền trên trang web ASP.NET, vì vậy trước tiên tôi cần thông tin liên lạc cho điều này. Thứ hai, một khi các sự kiện nhất định xảy ra trên trang web ASP.NET, tôi muốn đẩy dữ liệu này ngay lập tức đến máy chủ Node, để phát sóng tới người dùng hoặc nhóm người dùng cụ thể. Thứ ba, tôi muốn bất kỳ dữ liệu nào được gửi đến máy chủ node.js để được đẩy đến trang web ASP.NET để xử lý, vì đây là nơi mà tất cả logic nghiệp vụ của chúng tôi nằm. Lý do duy nhất để thêm Node.js là có khả năng đẩy dữ liệu trực tiếp đến máy khách, tôi không muốn xây dựng bất kỳ logic nghiệp vụ nào vào nó (hoặc ít nhất có thể).
Tôi muốn biết phương pháp nhanh nhất của giao tiếp push hai chiều là giữa Node.Js và ASP.NET. Lựa chọn duy nhất tốt mà tôi nhận thấy từ trước đến nay là tạo một trình lắng nghe đặc biệt trên một cổng cụ thể trên máy chủ node.js và kết nối với nó, nhưng tôi đã tự hỏi liệu có một phương thức thanh lịch hay hiệu quả hơn không? Tôi cũng biết rằng bạn có thể sử dụng cơ sở dữ liệu inbetween nhưng chắc chắn điều này sẽ cần phải được thăm dò ý kiến và sẽ kém hiệu quả hơn? Cả hai máy chủ sẽ chạy trên cùng một máy chủ trong một dự án Visual Studio.
Rất cám ơn vì bất kỳ trợ giúp nào bạn có thể cung cấp.
Đối với những người mới tham gia câu hỏi này, có một thư viện có tên [EdgeJS] (http://tjanczuk.github.io/edge/#/) là giải pháp thay thế cho các giải pháp được đề xuất. Điều tốt nhất là nó đi cả hai cách - bạn có thể có .NET hoặc Node như là quá trình kiểm soát. –