問題タブ [pushstreamcontent]

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 に答える
1380 参照

asp.net - PushStreamContent vs タスク アクション?

asp.net Web APIから非同期ストリームを返したいのですが、複数の方法があるように見えるか、違いがわかりません。

たとえば、標準の HttpResponseMessage に対して PushStreamContent を実行できるか、Task を実装して待機できるように見えます。

違いは何ですか??

少量のデータでも常にストリームを返す必要がありますか?

常に非同期タスクを使用する必要がありますか?

非常に紛らわしいようで、違いをグーグルで検索しましたが、特定の答えが見つからないようです。

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

c# - PushStreamContentは結果をチャンクで送り返しますか?

MVC4の新しいPushStreamContentエンティティを使用して、Webサーバーから複数のリッスンしているiOSクライアントに通知をストリーミングしています(NSURLConnectionを使用しています)。送信されるメッセージはJSONです。1024バイト未満のメッセージを送信すると、メッセージは期待どおりに送信されます。ただし、このサイズより大きいメッセージを送信すると、クライアントはメッセージを複数のチャンクで受信します。各チャンクは1024バイトです。

iOSクライアントが戻ってくるこれらの複数のメッセージを消費するための最良の方法は何でしょうか?NSURLConnectionに結果を集約させる方法はありますか、または結果を取得し、それが有効なjsonであるかどうかを確認し、次の結果を待って前の結果を追加し、有効になるまで続行するものを実装する必要がありますか?これを行うためのより良い方法は何ですか?

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

asp.net-web-api - ビデオファイルのストリーミング中に、PushStreamContent を使用して別のプロセスによってファイルがロックされている..解決方法

ビデオファイルをストリーミングしようとしています。ブラウザの別のタブで同じ動画ファイルを開くと、「ファイルは別のプロセスで使用されています」というメッセージが表示されます。file.open メソッドで FileShare.ReadWrite を使用すると、エラーはなくなりますが、ブラウザでビデオが再生されません。誰か教えてください。ヘルプ 。

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

c# - HttpClient と PushStreamContent

私は REST API (ASP.NET Web API) で PushStreamContent を使用しており、うまく機能しています。HttpClient はリソースを要求し、完全な要求がサーバーによって処理される前に HTTP 応答を取得できます (サーバーは引き続きプッシュ ストリームに書き込みます)。

HttpClient として、1 つの小さなことを行う必要があります。HttpCompletionOption.ResponseHeadersRead を使用します。

今私の質問:これを別の方法で行うことは可能ですか? HttpClient から -> プッシュ ストリームを介して Web API にデータをアップロードしますか?

以下のように実装しましたが、Web API はクライアントがストリームを閉じる前ではなくリクエストを取得します。

AsyncStream はデリゲートを持つ私のクラスです:

これは Push-Stream に必要です。

これはどういうわけか可能ですか?最後のバイトがストリームに書き込まれるまで、HttpClient は Web API にリクエストを送信しません...

どうすればいいですか?問題はクライアント側にありますか、それともサーバー/asp.net Web API側にありますか?

編集: これは WriteToStream の実装です (ただし、ディスクからのファイルは使用せず、メモリストリーム 'myMemoryStream' (コンストラクターで渡される) を使用します):

多分私は何かをしなければならない: HttpContent コンテンツ、TransportContext コンテキスト?

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

c# - ASP.NET Web API: PushStreamContent フラッシュがフラッシュされない

PushStreamContentサーバーからクライアントにイベントをプッシュするために ASP.NET Web API を使用しています (Server-Sent Events を使用)。イベントを送信するたびに、 を呼び出しFlushStream、バッファリングされたデータをクライアントにプッシュします。ただし、フラッシングが(常に)発生しないことに気付きました。場合によっては、データの一部がクライアントに送信され、残りは次のイベントが書き込まれたときに送信されます (数秒後に発生する可能性があります)。

コードサンプルは次のとおりです。

データのバッファリングを無効にしたり、データのフラッシュを強制するにはどうすればよいですか?

0 投票する
0 に答える
1343 参照

c# - Await Stream WriteAsync メソッドがロック/フリーズしています

PushStreamContent と WebApi でオーディオをストリーミングしてみます。このために、私は何かをコーディングしました。メインコード;

AudioStreamHelper コード;

このコードをデバッグすると; AudioStreamHelper クラスの WriteToStream メソッドとawait outputStream.WriteAsync(buffer, 0, bytesRead);行で、スレッドがロックまたはフリーズし、応答がありません。現在のスレッド ID を確認します。(Api と Helper クラスで) また、このコードは System.Net.Http.Formattion(version 4.0.0.0) で別のデモ アプリケーションを動作させます 私のプロジェクトでは System.Net.Http.Formattion(version 5.1.0.0) が関連付けられていますこの状態で?私はこの状況を理解していません。