通知プロジェクトの場合は、イベント通知をプッシュします。これらは、ログイン、プロフィールの変更などのようなもので、適切なクライアントに表示されます。私はそれをまとめることについていくつかのアイデアを話したいと思いますし、最良のアプローチについていくつかアドバイスを受けています。イベントベースのプッシュ通知用にASP.Net、IISNode、Node.JS、およびSQL ServerでSocket.IOを実装する方法は?
私はhereに気付きました.CouchDBに加えられた変更は、_changesストリームで検出され、Nodeによって取得され、プロセスが開始されます。私はこのようなものを実装したいと思います(SQL Serverを使用していますが、このレベルのエントリポイントは最適なソリューションではないかもしれません)。
私はクライアントイベントに興味があるので、データベースベースのイベントを検出すると、これはちょっと複雑に思えると思いますが、ユーザーログインなどのイベントが発生するといくつかのイベントの詳細(RESTfulな要求?)とともにNode Serverにメッセージが送信されます。このメッセージは処理され、接続されているすべてのクライアントにブロードキャストされます。適切なクライアントが通知を表示します。
- .NET 4.0
- のNode.js
- SQL Server 2008の
この意志Socket.IO
上に建てる.Netフレームワーク(IISなど)を使用する既存のプロジェクトのトップクライアントのブラウザの多くはWebソケットをサポートしていないため、Socket.IOを使用することは良いオプションです(フォールバックサポート)。しかし、I can seeから、Socket.IOはIISNodeによる長いポーリングしかサポートしていません(これは実際問題ではありません)。
Socket.IO/Nodeエンドポイントをすべてのクライアントに公開することで、JSを介してクライアントベースの通知をノードサーバーに送信し、メッセージをブロードキャストすることができます。 (基本的なchat-server/client/serverの例に従います)。
また、IISエンドポイントを使用することもできますが、(Socket.IOを介して)ロングポーリングしかサポートできませんでした。これにより、いくつかの.Netバックエンド処理が追加されますが、アーキテクチャが複雑すぎる可能性があります。
ノードに対してSQL Serverベースのイベント通知が利用できますか?
最高のアプローチは何ですか?
用語の生態系構成の権利がわからない場合は、明確にしてください。
ありがとうございました。
ありがとうTomasz。 SignalRの実装については、非常に良い点があります。しかし、問題は、プロジェクトがレガシーASPコードと.Netコードの間で断片化されているため、現在はJavaScriptベースの通信(C#ではなく)がおそらく最良の選択であると思います。私がSignalRの概念を正しく取得している場合は、プロジェクトが.Netに完全に移行された後、SiglanRに切り替えます。 Node.JS、IISNode、およびSocket.IOのウォークスルーがありますか?また、いくつかのSQL Serverのオプションを見て、しかし、このアプリのために過剰です。 – ElHaix
修正:従来のASPコードで使用できるWCFサービスとして.Net 4.0でSignalRアプローチを実装します。解決済み。 – ElHaix
Tomasz - iisnodeのドキュメントでこの制限を明確にすることができますか?私はWindowsソケットにiisnodeとnodejsをインストールしました.WebSocketのサポートを使用することを主な目的としていましたので、Windowsでnginxまたはapacheを使用しているか、Linuxに移行しています。 – jnoss