問題タブ [signalr-hub]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - signalR を使用して配列をサーバーに渡す
javascript で文字列の配列を SignalR を使用してサーバーに渡すにはどうすればよいですか?
JavaScript の配列があり、これをハブへの関数にしたい
関数はどのタイプのパラメーターを取る必要がありますか?
asp.net - SignalR と HttpContext/Session
SignalR がHttpContext へのアクセスを許可しない理由を理解しています。しかし、これは私たちにとって非常に問題です。説明させてください:
このアプリケーションは、ユーザーがログイン時に環境を選択するマルチテナント アプリケーションです。これにより、基本的に HttpSession に ConnectionStringName が登録されます。SignalR Hub では、上のデータベースにアクセスする必要がありますDisconnect
。しかし、この時点では HttpContext がなく、書き込み先の環境を特定できないため、これは不可能です。
この問題を解決する方法を提案してくれる人はいますか? これには少し行き詰まっています。
編集:ソリューションが負荷分散環境で機能する場合のボーナスポイント。
c# - とにかく、ハブクラスから別のハブのjavascriptハンドラー関数にメッセージを投稿する
2つのハブクラスがあります:hubAとhubBです。
HubAには、タスクを実行する関数があります。
この関数をにポストバックしたくない hubA.messageHandler = function(){...}
メッセージをポストバックできるようにしたいのですがhubB.messageHandler = function(){...}
、ハブクラス内から呼び出していhubA
ます。これは可能ですか?
signalr - SignalR セルフ ホスティング ハブを暗号化する方法
暗号化を使用してSignalRで自己ホスト型ハブを利用するための最良の方法を見つけようとしています。具体的には、関数呼び出しがプレーン テキストで表示されるように、パケット スニファが発生するのを許可したくありません。IISを介してホスティングする場合、 IISタイプの暗号化を利用するアプローチがあることは知っていますが、自己ホスト型ソリューションが必要です。
このルートをたどった提案や人々はいますか?
暗号化されたハブを自己ホストする方法はありますか?
そうでなければ、最初のアイデアは、関数呼び出しを通過するJSONオブジェクトを暗号化/復号化することでしたか? しかし、あなたはまだ関数呼び出しをパケットスニッフィングします...
SSLを利用してセルフホストすることは可能ですか?
クライアントはどのように接続しますか?
助言がありますか?
ありがとう!マイク
signalr - サーバーへのクライアントの再接続を決定する
サーバーでクライアント切断イベントを使用して、クライアントがサーバーから切断された時期を判断します。しかし、クライアントがいつ再接続したかを知る必要があります。これはできますか?モバイル デバイスの WebView で SignalR を実行していますが、信号が失われると、サーバーで SignalR の切断が発生すると思います。
signalr - SignalR - クライアントをサーバーに再接続する方法 (SignalR を再起動する方法)
ユーザーがモバイル デバイスから Web サイトにアクセスすると、SignalR で次の問題が発生します。問題は、電話がロックされるか、ユーザーが別のアプリに移動すると、Disconnect() メソッドがサーバーで起動されることです (サーバーにメッセージを送信し、SignalR を介して応答するのを待っていますが、サーバーからの応答はありません)。サーバー上で Disconnect メソッドが起動された後)。この後、クライアントがサーバーに接続されなくなると継ぎ目があります。
クライアントはサーバーに戻ってきたことをどのように伝えることができますか?
javascript - SignalR 例外ログ?
これは2つ以上の質問ですが、次のとおりです。
ハブのトップ レベルの例外ハンドラーを持つ最良の方法は何ですか? 現在のバージョンの SignalR では不可能のようです
ハブでエラーをスローしたときに、これが実際にクライアントで何もしないのはなぜですか?
$.connection.hub.error(function() { return alert("test"); });
デバッグすると、エラー メソッドが配線されていることがわかりますが、ハブで例外をスローすると、上記で設定したメソッドを呼び出そうとする試みがまったくないことがわかります。発生する唯一のことは、SignalR がコンソールにエラーをバーフすることです。
記録のために、私は他のイベントを問題なく接続できます
asp.net-mvc-4 - / signalr /hubsがasp.netmvc4にロードされない:404をスローします
これが私がしたことです。
- nugetを使用して、MVC4プロジェクトのSignalRを取得しました。
- コントローラ(SignalRTestController.cs)にMyHubクラスを作成しました
- インデックスアクションで、ハブの外部からメッセージをブロードキャストしようとし、ビューを返しました。
- ビューで、すべてのスクリプトと/ signalr/hubsを参照しました。
問題は/signalr/hubsが見つからないことです(404をスローします)。
私のプロジェクトには領域があり、次のように構成されています。
- MVCProject
- エリア
- サブフォルダ
- コントローラ
- SignalRTestController.cs
- モデル
- 意見
- Index.cshtml
- コントローラ
- サブフォルダ
- コントローラ
- モデル
- 意見
- スクリプト
- エリア
signalRのすべてのスクリプトはScriptsフォルダー内にあり、SignalRTestController.csは次のようになります。
私のIndex.cshtmlには、以下のようにすべてのjavascriptと/ signalr/hubsへの参照があります。//その他のJavascript
スクリプトtype="text / javascript" src = "/ signalr /hubs" />
コントローラは問題ないと思いますが、/ signalr/hubsを取得していません。404がスローされ、Chromeコンソールのメッセージは次のようになります。
スクリプトとして解釈されるが、MIMEタイプtext / htmlで転送されるリソース:「http://www.myproject.com/signalr/hubs」。Uncaught SyntaxError:予期しないトークン<hubs:2 Uncaught SignalR:ハブのロード中にエラーが発生しました。ハブの参照が正しいことを確認します(例:script src ='/ signalr /hubs'>)。
スクリプトがhtmlとして返される理由は、サーバーが404notfoundを返しているためです。
何が悪いのかわかりません。これはルーティングの問題かもしれないと思います。/ signalr / Hubsのプロジェクトにルーティング情報を追加する必要があるのか、それともここで何かが足りないのかはわかりません。
参考:新しい空のMVCプロジェクトを作成し、signalRを追加して作業を開始すると、完全に正常に機能します。ルーティングを追加する必要はありません。
また、いくつかの場所でデフォルトルーティングと属性ルーティングの両方を使用しています。ただし、コントローラーSignalRTestControllerは属性ルーティングを使用しません。
asp.net-mvc-3 - SignalRと多数のグループ
私はSignalRの最新バージョンを使用していますが、それは素晴らしいことです。ただし、最近、興味深いスケーリングの問題が発生しました。SignalRは、クエリ文字列でクライアントからすべてのクライアントのグループを送信しているようです。私のシステムでは、ユーザーがサブスクライブしているすべてのプロジェクトを表す多数のグループに参加し、それらのいずれかに関する通知を受け取る必要があります。
この多数のグループ(およびIDにGUIDを使用している私)により、クエリ文字列が最大サイズに達し、SignalRが機能しなくなりました。
これは、FiddlerがリクエストWebフォームに表示するものです(Azureバグの長いポーリングを使用):
IISでクエリ文字列のサイズを増やすことができることは知っていますが、グループを管理するためのより良い方法はありますか、それともサーバー側のグループ化スキームを作成して各クライアントに個別にブロードキャストする必要がありますか?PersistenConnectionsはその点で役立ちますか?
ありがとう。
asp.net - Amazon AWS での SignalR のスケーリング
Amazon AW で SignalR をスケーリングする方法を知りたいと思っていました。私の理解では、SignalR をスケーリングするには、Web サイトを複数の EC2 サーバーにデプロイする必要があります。問題は、2 つ以上のサーバー間に接続がないことです。Redis DB を使用してサーバーを相互に通信させるオプションがあります。
私の質問は次のとおりです。
Redis DB もスケーリングする必要がありますか?
メッセージ データは DB に永続的に保存されますか、それともメッセージの送信時に削除されますか? (非常に大きくなる可能性があるため、DB にメッセージを保存させたくありません)
スケーラブルな SignalR の展開を開始するために、Amazon で推奨される構成はありますか?