Đối với dự án thông báo, muốn đẩy thông báo sự kiện ra ngoài. Đây là những thứ như đăng nhập, thay đổi hồ sơ, v.v ... và được hiển thị cho khách hàng thích hợp. Tôi muốn thảo luận một số ý tưởng về việc đưa nó lại với nhau, và nhận được một số lời khuyên về cách tiếp cận tốt nhất.Làm thế nào để triển khai Socket.IO với ASP.Net, IISNode, Node.JS và SQL Server cho các thông báo đẩy dựa trên sự kiện?
Tôi nhận thấy here rằng những thay đổi được thực hiện cho CouchDB có thể được phát hiện bằng luồng _changes, được chọn bởi Node và quá trình khởi động. Tôi muốn thực hiện một cái gì đó như thế này (Tôi đang sử dụng SQL Server, nhưng một điểm vào ở cấp độ này có thể không phải là giải pháp tốt nhất). Thay vì làm theo ví dụ CouchDB (phát hiện sự kiện dựa trên cơ sở dữ liệu, tôi nghĩ điều này chỉ làm phức tạp mọi thứ, vì chúng tôi quan tâm đến các sự kiện của khách hàng), tôi đã nghĩ rằng khi một sự kiện xảy ra, chẳng hạn như đăng nhập người dùng, sau đó một tin nhắn được gửi đến máy chủ Node với một số chi tiết sự kiện (yêu cầu RESTful?). Thông báo này sau đó được xử lý và phát sóng cho tất cả các khách hàng được kết nối; khách hàng thích hợp hiển thị thông báo.
hệ sinh thái đề xuất:
- Net 4,0
- IIS
- IISNode
- Socket.IO
- Node.js
- SQL Server 2008
chí này được xây dựng trên đầu của một dự án hiện có bằng cách sử dụng khung .Net (IIS, v.v.). Nhiều trình duyệt của khách hàng không hỗ trợ ổ cắm web, vì vậy việc sử dụng Socket.IO là một lựa chọn tốt (hỗ trợ dự phòng). Tuy nhiên, từ những gì I can see, Socket.IO chỉ chỉ hỗ trợ bỏ phiếu dài thông qua IISNode (đây không thực sự là vấn đề).
Tùy chọn sẽ hiển thị điểm cuối Socket.IO/Node cho tất cả ứng dụng khách, để thông báo dựa trên ứng dụng khách có thể được gửi thông qua JS tới máy chủ Node, phát sóng thông báo. (theo các ví dụ về máy chủ-máy chủ/máy khách/máy chủ cơ bản).
Cách khác, điểm cuối IIS có thể được sử dụng, nhưng chỉ có thể hỗ trợ bỏ phiếu dài (thông qua Socket.IO). Điều này sẽ cung cấp một số bổ sung. Net back-end xử lý, nhưng có thể là quá phức tạp kiến trúc.
Có thông báo sự kiện dựa trên SQL Server có sẵn cho Nút không?
Cách tiếp cận tốt nhất là gì?
Nếu tôi không nhận được cấu hình hệ sinh thái thuật ngữ đúng, vui lòng làm rõ.
Cảm ơn.
Cảm ơn Tomasz. Bạn thực hiện một điểm rất tốt về việc thực hiện SignalR. Tuy nhiên, vấn đề là dự án được phân mảnh giữa mã ASP kế thừa và mã .Net, vì vậy tôi nghĩ rằng hiện tại, giao tiếp dựa trên Javascript (không phải C#) có lẽ sẽ là lựa chọn tốt nhất. Nếu tôi nhận được khái niệm SignalR chính xác, trong tương lai khi dự án được di chuyển hoàn toàn sang .Net, sau đó chuyển sang SiglanR. Có một số walk-throughs tốt của Node.JS, IISNode, và Socket.IO? Cũng xem xét một vài tùy chọn SQL Server, nhưng quá mức cần thiết cho ứng dụng này. – ElHaix
Hiệu chỉnh: Thực hiện phương pháp SignalR trong .Net 4.0 như một dịch vụ WCF có thể được sử dụng bởi mã ASP cổ điển. Giải quyết. – ElHaix
Tomasz - bạn có thể làm cho giới hạn này rõ ràng hơn trong các tài liệu iisnode không? Tôi đã cài đặt iisnode và nodejs trên hộp Windows của mình với mục tiêu chính là sử dụng hỗ trợ websocket - vì vậy tôi có vẻ như các lựa chọn của tôi đang sử dụng nginx hoặc apache trên Windows hoặc chuyển sang Linux. – jnoss