5

私は現在、潜在的に大きなファイルをインターネット経由で送信する必要がある小さなプロジェクトに取り組んでいます。

いくつかの議論の後、私はチャンキング アプローチの代わりにストリーミング オプションを使用することにしました。ファイルは潜在的に非常に大きくなる可能性があります。正確な上限を指定したくはありません.2GB、おそらく4GBです.

当然、これには長い時間がかかる場合があります。繰り返しますが、タイムアウトは本当にしたくありません。必要なだけ時間がかかりますが、問題ではありません。

さまざまなサイズのさまざまなファイルを試しながら、ゆっくりと、一歩一歩、BasicHttpBinding のプロパティを調整しました。私が思いついた値が基本的に大丈夫なのか、それとも完全に悪なのか疑問に思っています。

transferMode="Streamed"
sendTimeout="10675199.02:48:05.4775807"
receiveTimeout="10675199.02:48:05.4775807"
openTimeout="10675199.02:48:05.4775807"
closeTimeout="10675199.02:48:05.4775807"
maxReceivedMessageSize="9223372036854775807"

これはどういうわけか正しくありません。これらは、基礎となる各データ構造の可能な最大値にすぎません。しかし、他に何をすべきかわかりません。

もう一度:

これは基本的に正しいアプローチですか?それとも、ここでフレームワークを完全に誤解して誤用したのでしょうか?

ありがとう

4

2 に答える 2

2

より自然なアプローチは、ファイルを中規模のチャンクで順番に送信し、最終的なメッセージをコミットすることです。これにより、エラーから再開することもできます。完全に開いた番号には、おそらくDOSのわずかな問題があります...

于 2009-02-17T23:33:04.427 に答える
0

WCF クライアントとサーバー間の接続が VPN を経由する場合、ストリーミングに既に問題があります。興味がある場合は、このスレッドで詳細をお読みください。

ストリームが 1 分以上ストリーミングできるほど大きい場合、例外が発生します。

于 2010-01-21T20:10:56.077 に答える