解決済み:
ストリーミングでファイルを転送するために WCF を使用しています。クライアントがサービス内のメソッドを呼び出すと、サービスはクライアントからファイルを取得します。途中、CallBackで速度を返信しています。
私の問題は、計算している速度を判断できないことです。サービスがクライアントからファイルを取得するときは、ダウンロード速度が使用されます。ただし、クライアントがファイルを送信するときはアップロード速度です。どちらを計算する必要があり、どのように計算する必要がありますか?
まだ解決されていません:
クライアントがサービスのメソッドを呼び出す (そしてファイルへの参照を含むストリームを渡す)と、クライアントがメソッドを呼び出してからサービスのメソッドがアクティブ化を開始するまでに時間がかかりすぎます (ファイルのサイズによって異なります)。なぜこれが起こるのですか?1 ギガバイトのファイルには永遠に時間がかかります。
※サービスのメソッドが開始された時点から、すべてが問題なく正常に動作します。したがって、サービスを表示するのは時間の無駄です。
(クライアント)
Stream TheStream = File.OpenRead(@"C:\BigFile.rar");
Service1.GiveAFile(TheStream);
ありがとう。