0

その例に基づいて、ストリーミングされた wcf サービスを作成しました: http://www.codeproject.com/Articles/112655/Progress-Streamed-File-download-and-Upload-with-Re

コンソール ホストではすべて正常に動作し、アップロードと書き込みは「並行して」実行されます。しかし、IIS でサービスをホストすると、ストリームがサーバー側でバッファリングされているようです。

  1. なんで?違いはなんですか?コンソールホストを使ったサービスは信頼できない?! (信頼できるストリーミングが必要です!)
  2. IISホストでそれを回避するにはどうすればよいですか?
4

2 に答える 2

0

私はそれを見つけました:IIS Hosted WCFサービスでストリーミングを機能させる

これは既知の問題だと思います (.net 4.0 および iis 7 でのストリーミング)。ストリーミングを使用する WCF サービスが IIS でホストされている場合、ASP.net はそのレイヤーで要求をバッファーします。ASP.Net が完了するまで、要求は WCF に到達しません。

これは、非 HTTP トランスポート IIS を使用している場合、または非 IIS ホストでホスティングしている場合に機能するはずです。

(ズルフィカール・アーメド)

製品チームに連絡すると、大きすぎてパッチとして発行できないため、.NET 4.5 で修正されるとのことでした。

また、.NET Framework 4.5 で動作します

于 2013-06-18T07:05:55.067 に答える
0

バッファリングされていることをどのように知っていますか? プロキシ生成後、クライアント側の設定ファイルを確認してください。プロキシで生成された構成ファイルの転送モードが正しくない場合があります。

クライアントでファイルの書き込みを開始すると、ファイルのサイズがチャンク単位で増加することはありませんか?

ホスティングは転送モードに影響しません。

IIS とコンソールの唯一の違いは、アクティブ化/非アクティブ化を管理する方法です。

于 2013-06-12T14:09:36.830 に答える