問題タブ [signalr]
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.
c# - SignalR が機能しない
Global.asax:
myconnection.cs
~/Pages/Messages.aspx
エラー:
SignalR: データを送信する前に、接続を開始する必要があります。.send() の前に .start() を呼び出す
私がこれまでに試したこと:
どちらのソリューション (https://github.com/SignalR/SignalR/wiki/Faq) でも問題は解決しませんでした。何か案は)?ありがとう。
c# - ログイン時にユーザーを保存してから、オンデマンドでデータをプッシュする
だから私はSignalRを使用しています、それは私のウェブサイトで正しくセットアップされて動作しています。
ユーザーAがログインするとします(私はMembership APIを使用しています)。Aがログインすると、マスターページにある.jsから接続を呼び出しています。これにより、特定のuserIdを使用するように割り当てられます。
ここで、ユーザーBのログインが何らかのイベントを実行し、そのイベントがコードビハインドからユーザーAに通知する必要があるとします。
したがって、ここで私が行おうとしているのは、CodeBehindからの使用AのアクションをユーザーBに通知することです。ユーザーBはユーザーAのIDをどのように知り、全体がどのように機能するのでしょうか。ドキュメントにはそのようなものが含まれていないため、ヘルプを見つけることができませんでした。
これはどのように達成できますか?ありがとう。
signalr - SignalR ハブ URL を変更する方法
とは異なるベース ハブ URL を使用したいと考えています~/signalr/hubs
。この URL を変更するには、たとえば~/api/hubs
?
2 番目の質問です。ハブのセットごとに別の URL を使用できますか? 例えば:
ありがとう。
c# - ASP.NET C# SignalR Stream to Client
I've got a couple SignalR basic demos working locally (chat, etc.) and I understand pushing to the server then having it broadcast to all connected clients.
My question is how might I utilize SignalR to "stream" data to the client. For example, seen examples in NodeJS/Socket.IO utilizing Twitters streaming API.
Are there any SignalR streaming examples out there? How might this work?
c# - SignalRを使用して、MSMQタスクが完了したことをASP.NETMVC3からWebクライアントに通知する方法
SignalRを使用して、ASP.NET MVC 3アプリケーション(フォーム認証を使用)、SQL Server 2008データベース、およびデータを処理するMSMQ WCFサービス(WASでホストされている)で構成される.NET4.0システムに通知を実装するにはどうすればよいでしょうか。ランタイム環境は、Windows Server 2008 R2StandardEditionで実行されているIIS7.5で構成されています。
私はサンプルで遊んだだけで、SignalRについての幅広い知識はありません。
ここにいくつかの背景があります
Webアプリケーションは、ユーザーからのデータを受け取り、それをテーブルに追加します。次に、WCFサービスの一方向操作(データベースキーを使用)を呼び出して、データ(タスク)を処理します。Webアプリケーションは、データが送信されたことをユーザーに通知するページに戻り、処理が完了すると通知されます。ユーザーは「インデックス」ページを見て、どのタスクが完了したか、失敗したか、または進行中であるかを確認できます。彼らはさらに多くのタスクを提出し続けることができます(これは以前のデータとは無関係です)。ブラウザを閉じて、後で戻ることができます。
MSMQベースのWCFサービスは、データベースからレコードを読み取り、データを処理します。これには、ミリ秒から数分かかる場合があります。データの処理が完了すると、レコードは対応するステータス(エラーまたは失敗)と結果で更新されます。
ほとんどの場合、WCFサービスは処理を実行していませんが、実行する場合、ユーザーは通常、処理がいつ実行されるかをできるだけ早く知りたいと考えています。ユーザーは、WCFサービスで処理するデータがない場合でも、Webアプリケーションの他の部分を引き続き使用します。
これは私がしたことです
プライマリナビゲーションバーには、タスクのステータスが変更されたときにユーザーに通知するためのインジケーター(FacebookやGoogle+と同様)があります。クリックすると、実行内容の概要が表示され、必要に応じて結果を表示できます。
jQueryを使用して、サーバーをポーリングして変更を確認します。コントローラのアクションは、変更された(完了または失敗した)プロセスがあるかどうかを確認し、それ以外の場合は数秒待ってから、クライアントに戻らずに再度確認します。クライアントでのタイムアウトを回避するために、変更がない場合は30秒後に戻ります。jQueryスクリプトはしばらく待機してから、再試行します。
問題点
ページを表示するすべてのユーザーでパフォーマンスが低下します。特に何もする必要はありません。Firefox7以降とSafariのメモリ使用量が時間の経過とともに増加することに気づきました。
SignalRの使用
SignalRに切り替えることで、ポーリングが削減され、データベースでタスクごとに何も変更されていない場合は特に、リソース要件が削減されることを期待しています。フォームベースの認証を使用しているため、WCFサービスがタスクの処理が完了したことをクライアントに通知するのに問題があります。
この質問をすることで、SignalRを使用して通知スキームを再設計する方法について、誰かが私にもっと良い洞察を与えてくれることを願っています。
asp.net - .NET Web サイトのタイマー
そのため、SignalR を学んでおり、変更を複数のクライアントにプッシュするというアイデアが気に入っています。学習用の単純な監視サイトを構築しています。10 秒ごとにデータベースをポーリングし、クエリ対象の現在の状態をクライアントにプッシュしたいと考えています。「ハブ」オブジェクトにタイマーを使用すると、すべてのクライアント接続で新しいタイマーが作成されます。これは、最終的にすべてのクライアントが独自の 10 秒タイマーを持ち、ハブが常に 10 秒ごとよりもはるかに頻繁に更新をプッシュすることを意味します。
私は頭の中でさまざまなアイデアを推し進めてきましたが、SignalR や、アプリドメイン。
vb.net - SignalR: PersistentConnection のクライアント リストを取得する
Google、SignalR wiki、SignalR コード自体 (ブロードキャスト関数、Signaler など) を検索しましたが、何も見つかりませんでした。
ClientIDFactory を書き、ClientID を UserID に設定しました。動作しますが、現在、ユーザーは複数のブラウザー/タブから接続できません。
関数を修正し、ランダムな文字列を UserID に追加しました。できます。
ここで、特定のメッセージを特定の UserID に送信するために、ユーザーのすべての接続を取得する方法を見つける必要があります。
クライアントリストをループして、string.split() で UserID を見つけることを考えていますが、他の方法が役立つ場合があります。
ハブは使用していません。PersistentConnection のみ。
ありがとう、
asp.net - SignalRjavascriptコールバックが機能しない
私はハブクラスを持っています:
そしてjavascript:
すべての接続は問題ありません:
ここでブレークポイントを使用する場合Clients.addMessage(DateTime.Now.ToString( "HH:mm:ss")+ "" +メッセージ); すべて順調。
しかし、javascript関数でコールバックを取得しません。 alert( "メッセージ:" +メッセージ); 実行しない
signalr - SignalRでポーリングを停止する方法は?
SignalRでサーバーのポーリングを停止する方法はありますか?エラーが発生した場合、サーバーのポーリングを停止したい。ポーリングハブはで開始$.connection.hub.start()
されるので、それを停止することもできると$.connection.hub.stop()
思いました。しかし、それは機能していないようです。呼び出した後もポーリングは続行されstop()
ます。ポーリングを停止する別の方法はありますか?
c# - ThreadPool.QueueUserWorkItem を使用して TcpClient 接続を開き、ASP.NET および SignalR でデータを読み取る
SignalR に関するいくつかの投稿を読み、onkyo レシーバーの状態をポーリングして結果をブラウザーに表示する Web アプリケーションを作成できる楽しいテスト プロジェクトを考えました。最初のテストでは、Application_Start で次のコードを使用して、サーバーの現在の時刻をクライアントに送信することに成功しました。
クライアントの JavaScript には、次のコードがあります。
そのため、すべて正常に機能します。毎秒、現在のサーバーの日付と時刻を含む新しいリスト項目を取得します。
Onkyoレシーバーからデータを読み取るためにこのコードを追加すると、壊れます:(まだApplication_Startにあります)
ブレーク ポイントを設定し、コードをステップ実行しました。この行に到達してから戻ります。
メッセージをクライアントに送信するための残りのコードが完了することはありません。私は何を間違っていますか?
ありがとう。