問題タブ [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.

0 投票する
1 に答える
2136 参照

javascript - Knockout ViewModel で SignalR を実装しようとしています

私は次のコードを持っていますが、クライアントを呼び出しておらず、情報で KnockOutJS ビューモデルを更新していないようです。ページの読み込み時に GetOuting() が呼び出され、正しい情報がビューモデルに入力されます。Chrome は、開発者ツールに JS エラーを表示しません。その時点から、トラブルシューティングの方法を理解するのに苦労しています。どんな助けでも大歓迎です。SignalR ハブ

ビューモデル

HTML + JavaScript

さらにデバッグすると、行にあるように見えます

ID を設定しようとすると、「undefined_method」の例外が発生しているようです。それは他の誰かにとって意味がありますか?

0 投票する
2 に答える
4766 参照

javascript - モバイル Web 上の SignalR?

私は、SignalR テクノロジを新製品 (幅広いユーザー向けのモバイル Web アプリケーション、特にいくつかのページでのリアルタイム チャットが必要) で使用するために評価しています。

ガイドに従って、非常に基本的なチャット デモを作成しました。次に、IIS にデモを展開し、独り言を言い始めました。すべてのクライアントは同じ WiFi ネットワーク上にありました。

デスクトップ ブラウザは多かれ少なかれ正常に動作しました。

ただし、iOS 4.2 の Safari と WP7.10 の IE - どちらも最悪でした。「投稿」ボタンを押しても何も起こらないことがありました。時々、送信メッセージはデスクトップ Firefox に正常に送信されましたが、受信メッセージはありませんでした。

多分私は明らかな何かを見逃していますか?多分私は通常のものの代わりに jquery mobile が必要ですか? たぶん、IIS/web.config/whatever を調整するだけで、SignalR が繁栄し、くだらないモバイル インターネットでも問題なく動作し始めるでしょうか?

それとも、Web サーバーからの単一ホップ内で WiFi を使用していても機能しないため、SignalR を捨てて、新しいメッセージの JSON エンドポイントをポーリングする JavaScript を作成する必要があるということですか?

前もって感謝します!

0 投票する
4 に答える
4169 参照

signalr - Signalrの例が機能しない

Signalrサンプルをインストールしました(nugetでダウンロード)

nugetからすべてが正常にインストールされ、クリーンなプロジェクトです(サンプルをテストするためだけです)が、次のエラーが発生します:

throw "SignalR:データを送信する前に接続を開始する必要があります。.send()の前に.start()を呼び出してください";

0 投票する
2 に答える
3420 参照

asp.net-mvc-3 - ユーザー接続IDを維持するsignalR

ユーザーの接続IDを維持しようとしています。つまり、彼がページを更新しても同じ接続IDを取得します

これは私が今までできることです

ジャバスクリプトの部分

そして、このように IConnectionIdFactory を継承するクラスを作成しました

上記のクラスを Application_start() に以下のように登録しました

私の問題は、CreateConnectionId リクエスト内で MyConnectionFactory クラスが呼び出されるたびに発生することです。Cookies["srconnectionid"] は毎回 null であるため、ユーザーには毎回新しい接続 ID が割り当てられます。接続 ID を維持するのに役立つリンクが 1 つしか見つかりませんでした。 //www.kevgriffin.com/maintaining-signalr-connectionids-across-page-instances

誰でも私の問題を解決する方法を提案できますか、または同じユーザーの接続 ID を再利用する他の方法はありますか?

Cookie の値はクライアント側で設定されます。私はこれを 2 日間試しています。とても役に立ちます。

前もって感謝します

0 投票する
2 に答える
1706 参照

chat - SignalR.NinjectとIConnectionIdFactoryのオーバーライドに関するSignalRの問題

私はSignalR用のすべてのNugetビットを持っています。自分のclientIDと、他のすべてのリポジトリなどにSignalRに付属している依存性注入コンテナを使用しようとしています。奇妙なことに、ハブに接続するためのこのjQueryは失敗します。

基本的に、チャットオブジェクトはSignalRを解決できないかのように未定義になります。これは、SignalRのデフォルトのリゾルバーを以下のコードでオーバーライドしようとすると発生し始めました。

ここで何が欠けていますか?

私が抱えているもう1つの問題は、IConnectionIdFactoryを実装するUserClientIDfactoryも機能しているかどうかわからないことです。

これが私のGlobal.asaxのMVC3コードです

最後に、これが私のカスタムclientIDfactoryのコードです

0 投票する
3 に答える
47704 参照

asp.net - .NET 4.5 WebSockets と SignalR

asp.net MVC チャット アプリケーションの signalR と html5 Websocketsを見たことがありますが、Microsoft が .NET 4.5 で WebSocket オブジェクトを拡張した可能性がある HTML5 WebSockets に基づいているため、私の質問に 100% 答えているわけではありません。

WebSocket 機能が実際に SignalR と同じことを行い、WebSocket が利用できない場合に長いポーリングにフォールバックするかどうか疑問に思っていますか? Microsoft は、このテクノロジへのアプローチにおいて、SignalR と同じテクノロジを実装するのでしょうか?

編集:

これについて疑問に思っている他の人にとって、このコメントは、シナリオと、SignalR を使用する理由を理解するのに最も役立つことがわかりました。

まあ、そうではありません。これまで、IIS と ASP.NET には、サポートされている WebSocket が組み込まれていないため、SignalR プロジェクトはそれを自分で構築する必要がありました。Microsoft がプラミングを提供するようになった今、SignalR は、独自の実装に加えて、またはその代わりに、Microsoft の実装を使用するように簡単に切り替えることができます。SignalR は実装の詳細に対する抽象化であり、WebScockets クラスは実装の詳細です

0 投票する
2 に答える
1104 参照

asp.net-mvc-3 - signalRの概念を理解する方法

signalRがどのように機能するかとその詳細を理解する方法は?そこには多くの技術文書はありません。

0 投票する
3 に答える
73007 参照

c# - Node.Js + Socket.IO vs SignalR vs C# WebSocket サーバー

現在、メッセージを受信して​​クライアントに送信する .Net で記述された TCP サーバー アプリケーションがあります。Web アプリケーションの構築を検討しているため、通信層が必要です。

TCPサーバーに接続し、通信をWebアプリケーションにプッシュするNode.JS + Socket.IOアプリを構築しましたが、すべて正常に動作します。

.Netスタックに保持するための代替手段として、SignalRについて読みました。

ただし、C# Websocket サーバーを作成できることもわかりました。基本的なデモはこちら

この基本的なサーバーは SignalR と同じだと思いますが、明らかにより多くの機能を備えていますか?

私が決定しようとしているのは、現在の TCP アプリケーションに Websocket サーバーを追加するだけなのか、それとも別の SignalR または Node.js ルートをたどるのかということです。興味深いことに、SignalR アプリケーションはどのように実行されますか?それは Windows サービス、コンソール アプリ、または IIS サービスとしてですか?

0 投票する
1 に答える
2607 参照

signalr - SignalR .NETクライアント:Webアプリケーションアプリドメイン内から接続を開始できません

長い話を短くしようと思います:

アプリケーションのコアアセンブリからWebアプリケーションのハブのメソッドを呼び出したい。理由は、最終的にすべてがコアを呼び出してイベントをトリガーするアプリケーションが多数あるためです(モバイルWeb、管理サイト、APIなどを考えてください)。SignalRを使用して、発生したイベントをデスクトップサイトのユーザーに通知したいと思います。

これを急上昇させるために、私は4プロジェクトのソリューションを作成しました。ハブプロキシを使用したコアプロジェクト。ハブを備えたWebアプリ。ハブのない別のWebアプリ。そして最後にコンソールアプリ。

コンソールアプリからコアを呼び出し、プロキシを使用してハブクライアントにメッセージを送信しようとすると、すべてがうまく機能します。ただし、コアを呼び出してWebアプリの1つからプロキシを使用しようとすると、connection.Start()の呼び出しで実行がハングします。

SignalR.Clientのものは、Webアプリのアプリドメイン内から使用することを意図したものではありませんか?コンソールアプリでは期待どおりに機能するのに、Webアプリでは機能しないのはなぜですか?


更新:スパイクをSignalRソースにフックし、Webアプリのいずれかから実行すると、SignalR.Client.Connectionの行130で実行がハングします。このような接続の_syncContextはAspNetSynchronizationContextのインスタンスであり、Post()メソッドを呼び出すとすべてが停止します。

0 投票する
5 に答える
6158 参照

azure-worker-roles - Azure ワーカー ロールでの SignalR の使用

ワーカー ロールの多数のインスタンスと連携して動作する、Azure でホストされている Web アプリケーションがあります。現在、Web アプリは、ワーカーが取得できるように Azure キューにメッセージを配置することで、これらのワーカーに作業を渡します。ワーカーは、メッセージを「フィードバック」キューに入れることで、ステータス メッセージと進行状況メッセージを返します。現時点では、進行状況をブラウザー クライアントに通知するために、ブラウザーで ajax ベースの定期的なポーリング呼び出しを MVC コントローラー メソッドに対して行います。MVC コントローラー メソッドは、Azure の「フィードバック」キューを読み取り、これらのメッセージを json としてブラウザーに返します。 .

明らかに、SignalR はこの不器用なポーリング/キューイング アプローチの非常に魅力的な代替手段のように見えますが、送信する必要がある複数のワーカー ロール (Web ロールとは対照的に) について話しているときに、これを行う方法についてのガイダンスはほとんど見つかりませんでした。個々またはすべてのクライアントへのステータス。

Clemensvastersによる SignalR.WindowsAzureServiceBusは素晴らしいように見えますが、最後に少し高くて乾いたままになります。つまり、良いサンプル ソリューションが欠けています。

追加の解説: これまでの私の読書から、SignalR アプローチを介したワーカーロール ( Webロールとは対照的に) からブラウザー クライアントへの直接通信は不可能であるように思われます。ワーカーはキューを使用して Web ロールと通信する必要があるようです。これにより、ポーリング アプローチが強制されます。つまり、worker ロールからメッセージを取得するためにキューをポーリングする必要があります。このポーリングは、表示されるブラウザーから開始 (駆動) する必要があります (Web ロールでポーリング ループを設定するにはどうすればよいでしょうか?)。

要約すると、Clemens Vasters の SignalR.WindowsAzureServiceBus スケールアウト アプローチを使用しても、SignalR はワーカー ロールからブラウザーへの直接通信を処理できません。

専門家からのコメントをお待ちしております。