1

クライアントは別のクライアントからストリームを取得しますが、クライアントはそのストリームの途中からのみ読み取る必要があります。

FileStreamWCF では、取得したストリームは、他のクライアントが最初にそのストリームを作成したとしても、そのストリームをクライアントに提供する前に変換できませんFileStream

それが私のクライアントがそれをできない理由です:

Stream1.Read(Buffer, Middle_Of_Stream, Buffer.Length)

どんな解決策でも大歓迎です!

*ストリーミング モード = ストリーミング。

4

1 に答える 1

1

クライアントで取得したストリームは、転送に使用されたネットワークストリームにバインドされている可能性があるため、ファイル ストリームに変換できません。サーバー内のAFileStreamはクライアントからアクセスできません (また、多くの理由でセキュリティがその 1 つであるため、そうすべきではありません)。そのため、WCF が行うことは、ファイル ストリームから読み取り、バイトをネットワーク ストリームにコピーすることです。クライアントでは、読み取り専用 (およびシーク不可) のストリームを取得します。

クライアント側でファイル ストリームに変換する場合は、新しいファイルを作成し (おそらく一時ディレクトリに)、プロキシ呼び出しで取得したストリームを保存します。

于 2012-07-08T04:00:12.297 に答える