[過去ログ]
ふらっと C#,C♯,C#(初心者用) Part141 (1002レス)
ふらっと C#,C♯,C#(初心者用) Part141 http://mevius.5ch.net/test/read.cgi/tech/1544838367/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
418: デフォルトの名無しさん [sage] 2020/05/07(木) 08:09:53 ID:uSRgeDXp なぜ?は正常にダウンロードできないのか教えて下さい よろしくお願いします ?aaa.csvが作成されるのですが0 byteの空のcsvです var url1 = new Uri("http://tekitou/xxx.csv"); var csv1 = "aaa.csv"; var wc1 = new WebClient(); wc1.DownloadFileAsync(url1, csv1); ?これは正常にダウンロードできます var url2 = "http://tekitou/xxx.csv"; var csv2 = "bbb.csv"; var wc2 = new WebClient(); wc2.DownloadFile(url2, csv2); ?上の2つを1つのメソッドの中に並べてから実行するとなぜかaaa.csv、bbb.csvともに正常にダウンロードできます var url1 = new Uri("http://tekitou/xxx.csv"); var csv1 = "aaa.csv"; var wc1 = new WebClient(); wc1.DownloadFileAsync(url1, csv1); var url2 = "http://tekitou/xxx.csv"; var csv2 = "bbb.csv"; var wc2 = new WebClient(); wc2.DownloadFile(url2, csv2); http://mevius.5ch.net/test/read.cgi/tech/1544838367/418
419: デフォルトの名無しさん [] 2020/05/07(木) 08:23:39 ID:454F8U2c >>418 asyncって何か知ってる? http://mevius.5ch.net/test/read.cgi/tech/1544838367/419
422: デフォルトの名無しさん [sage] 2020/05/07(木) 09:03:48 ID:z0QaEyrp >>418 基本通りDownloadFileCompletedイベントを使え キーワードのわかるものは自分でまずググれ >>421 お前はいらんから消えろ http://mevius.5ch.net/test/read.cgi/tech/1544838367/422
424: デフォルトの名無しさん [sage] 2020/05/07(木) 09:05:44 ID:K/pi2iFO >>418 たとえばMainにその4行だけ書いたら 1の場合ダウンロード始める前にプロセス終了するけど http://mevius.5ch.net/test/read.cgi/tech/1544838367/424
429: デフォルトの名無しさん [sage] 2020/05/07(木) 09:40:06 ID:qpGBsCgy >>418 非同期にダウンロードするなら、ダウンロード終了を待たないとそりゃ中身0バイトでしょ。 Mainをasync voidにして、awaitしなよ。 http://mevius.5ch.net/test/read.cgi/tech/1544838367/429
433: デフォルトの名無しさん [sage] 2020/05/07(木) 11:15:54 ID:uSRgeDXp >>418の?でうまくいったのは、 たまたま非同期が前、同期が後の順番だったため、同期が終わるまでプログラム全体が終了せず その間に非同期のほうも無事にダウンロードできたという事で・・・? サーバー側の都合で同時に同じファイルのダウンロードは認められず、先に要求のあった非同期が終わるまで同期のほうが始まらなかったとか http://mevius.5ch.net/test/read.cgi/tech/1544838367/433
437: デフォルトの名無しさん [sage] 2020/05/07(木) 13:46:41 ID:uSRgeDXp >>435 一番知りたいのはフォームアプリとコンソールアプリでなぜこのような違いがでるのかっていう点ですね それについては>>432の理解でよいのでしょうか 前半は肯定してもらったのですが、後半はどうでしょうか >DownloadFileAsyncはイベントベースで完了を待つ(ことができる)もの DownloadFileTaskAsyncでもcompletedイベントハンドラが動きました とここまで書いて一発で疑問を解決してくれるコードを発見です static void Main(string[] args) { var url1 = new Uri("http://tekitou/xxx.csv"); var csv1 = "aaa.csv"; var client = new WebClient(); client.DownloadFileAsync(url1, csv1); Console.ReadLine(); } もちろんこれがアプリの中で使えるということではないんですが 基本の基本となる理屈がこれで分かりました コンソールとフォームの違いに重点を置いた説明ってなかなか見当たらないんですよね どちらかに特化したものはあちらこちらにあるんですけど。 そのせいで頭に生じた矛盾点が解決できず基本理解が大きくゆれていたんです あと、>>418の?で順番を逆にしたら期待通りの結果が得られました 解決です http://mevius.5ch.net/test/read.cgi/tech/1544838367/437
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.049s