C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法
ツリー表示
トピック表示
ランキング
記事検索
過去ログ
ログ内検索
キーワードを複数指定する場合は 半角スペース で区切ってください。
検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
[返信]をクリックすると返信ページへ移動します。
キーワード
/
検索条件
/
(AND)
(OR)
検索範囲
/
(現在のログ)
(全過去ログ)
(過去ログ1)
(過去ログ2)
(過去ログ3)
(過去ログ4)
(過去ログ5)
(過去ログ6)
(過去ログ7)
(過去ログ8)
(過去ログ9)
(過去ログ10)
(過去ログ11)
(過去ログ12)
(過去ログ13)
(過去ログ14)
(過去ログ15)
(過去ログ16)
(過去ログ17)
(過去ログ18)
(過去ログ19)
(過去ログ20)
(過去ログ21)
(過去ログ22)
(過去ログ23)
(過去ログ24)
(過去ログ25)
(過去ログ26)
(過去ログ27)
(過去ログ28)
(過去ログ29)
(過去ログ30)
(過去ログ31)
(過去ログ32)
(過去ログ33)
(過去ログ34)
(過去ログ35)
(過去ログ36)
(過去ログ37)
(過去ログ38)
(過去ログ39)
(過去ログ40)
(過去ログ41)
(過去ログ42)
(過去ログ43)
(過去ログ44)
(過去ログ45)
(過去ログ46)
(過去ログ47)
(過去ログ48)
(過去ログ49)
(過去ログ50)
(過去ログ51)
(過去ログ52)
(過去ログ53)
(過去ログ54)
(過去ログ55)
(過去ログ56)
(過去ログ57)
(過去ログ58)
(過去ログ59)
(過去ログ60)
(過去ログ61)
(過去ログ62)
(過去ログ63)
(過去ログ64)
(過去ログ65)
(過去ログ66)
(過去ログ67)
(過去ログ68)
(過去ログ69)
(過去ログ70)
(過去ログ71)
(過去ログ72)
(過去ログ73)
(過去ログ74)
(過去ログ75)
(過去ログ76)
(過去ログ77)
(過去ログ78)
(過去ログ79)
(過去ログ80)
(過去ログ81)
(過去ログ82)
(過去ログ83)
(過去ログ84)
(過去ログ85)
(過去ログ86)
(過去ログ87)
(過去ログ88)
(過去ログ89)
(過去ログ90)
(過去ログ91)
(過去ログ92)
(過去ログ93)
(過去ログ94)
(過去ログ95)
(過去ログ96)
(過去ログ97)
(過去ログ98)
(過去ログ99)
(過去ログ100)
(過去ログ101)
(過去ログ102)
(過去ログ103)
(過去ログ104)
(過去ログ105)
(過去ログ106)
(過去ログ107)
(過去ログ108)
(過去ログ109)
(過去ログ110)
(過去ログ111)
(過去ログ112)
(過去ログ113)
(過去ログ114)
(過去ログ115)
(過去ログ116)
(過去ログ117)
(過去ログ118)
(過去ログ119)
(過去ログ120)
(過去ログ121)
(過去ログ122)
(過去ログ123)
(過去ログ124)
(過去ログ125)
(過去ログ126)
(過去ログ127)
(過去ログ128)
(過去ログ129)
(過去ログ130)
(過去ログ131)
(過去ログ132)
(過去ログ133)
(過去ログ134)
(過去ログ135)
(過去ログ136)
(過去ログ137)
(過去ログ138)
(過去ログ139)
(過去ログ140)
(過去ログ141)
(過去ログ142)
(過去ログ143)
(過去ログ144)
(過去ログ145)
(過去ログ146)
(過去ログ147)
(過去ログ148)
(過去ログ149)
(過去ログ150)
(過去ログ151)
(過去ログ152)
(過去ログ153)
(過去ログ154)
(過去ログ155)
(過去ログ156)
(過去ログ157)
(過去ログ158)
(過去ログ159)
(過去ログ160)
(過去ログ161)
(過去ログ162)
(過去ログ163)
(過去ログ164)
(過去ログ165)
(過去ログ166)
(過去ログ167)
(過去ログ168)
(過去ログ169)
(過去ログ170)
(過去ログ171)
(過去ログ172)
(過去ログ173)
(過去ログ174)
(過去ログ175)
(過去ログ176)
(過去ログ177)
(過去ログ178)
(過去ログ179)
強調表示
/
ON
(自動リンクOFF)
結果表示件数
/
20件
30件
40件
50件
100件
記事No検索
/
ON
大文字と小文字を区別する
No.1704 の関連記事表示
ヒット / 14件
(1-14 を表示)
<<
0
>>
■1704
Re[4]: 子コントロール
□投稿者/ 津田子 -
(2005/10/24(Mon) 16:56:17)
分類:[C#]
まどかさん、お返事ありがとうございます。
> #「津田子」「おいら」、どっちなんだろう。。。
Ans.
18才のぴちぴち女子高生です☆
…見え透いた嘘ですみません。でも一応"をなご"です。お名前から判断させていただくと、まどかさんもをなごですよね?
> もしかして、Controls.Addだけしてませんか?
> #大事なことを忘れてませんか?S○○w
はい、ものの見事に忘れていました。またまた「いやんハズカシイ」な展開ですね…もっと精進します。
えぇと、確かに○ho○で表示はされたのですが、今度はフォームが2つになってしまいました。プログラムの道は険しいッスね(遠い目)
記事No.1697 のレス /0過去ログ2より /
関連記事表示
削除チェック/
■1704
WebClientインスタンスのプーリングについて
□投稿者/ Hirotow -
(2007/03/03(Sat) 14:42:13)
>
分類:[C# (Windows)]
現在C#を用いてダウンロード支援ツールの開発を行っています。
このツールは、
・アイテムオブジェクト
・ダウンロードの設定および状態
・これらを表示するためのListItemオブジェクト
・動的に割り当てられるWebClientインスタンス
・マネージャオブジェクト。
・アイテムオブジェクトのコレクション
・WebClientインスタンス
によって構成されており、メインフォームに設置されたタイマーによりマネージャオブジェクト内のアイテムオブジェクトにマネージャオブジェクトのWebClientインスタンスを割り当てダウンロードを行う機構になっています。
しかしながらこの構造では制限が多いため(単一のリストしか持つことができず、また同時にひとつしかダウンロードを行えない)、複数のマネージャオブジェクトが共通のプールからWebClientオブジェクトを取得しこれをアイテムオブジェクトに割り当てられる構造にしたいと考えています。
また、全体および各マネージャに割り当て可能なWebClientの数(すなわち同時接続数)はユーザーが任意のタイミングで変更可能なものとします(Irvineの同時接続数制限のような感じです)。
私の現在の知識ではこの実装方法がわからないのでご教授いただけると幸いです。
よろしくお願いします。
親記事 /過去ログ10より /
関連記事表示
削除チェック/
■1710
Re[1]: WebClientインスタンスのプーリングについて
□投稿者/ aoa -
(2007/03/03(Sat) 21:10:47)
『増補改訂版Java言語で学ぶデザインパターン入門マルチスレッド編』
http://www.hyuki.com/dp/dp2.html
を読むといいと思います。
特に8章の「Worker Thread」がそのまま使える気がします。
記事No.1704 のレス /過去ログ10より /
関連記事表示
削除チェック/
■1712
Re[1]: WebClientインスタンスのプーリングについて
□投稿者/ 渋木宏明(ひどり) -
(2007/03/03(Sat) 21:42:15)
>
■
No1704
(Hirotow さん) に返信
> 同時にひとつしかダウンロードを行えない
WebClient.DownloadXXXAsync() を使えば、同時並行に複数のダウンロードを実行することが出来ます。
記事No.1704 のレス /過去ログ10より /
関連記事表示
削除チェック/
■1713
Re[2]: WebClientインスタンスのプーリングについて
□投稿者/ Hirotow -
(2007/03/03(Sat) 22:37:58)
>
質問がわかりにくかったみたいですね。
すみません。
Windows.Formsなので当然非同期は使っています(^^;
そういうことではなく、プログラム全体で同時接続数の管理も兼ねて安全にWebClientを使いまわしたいのです。
ソリューションを貼り付けるので質問文の補助にしてください。
http://hcm.wankuma.com/data/cvd20070303a.cab
記事No.1704 のレス /過去ログ10より /
関連記事表示
削除チェック/
■1714
Re[3]: WebClientインスタンスのプーリングについて
□投稿者/ 渋木宏明(ひどり) -
(2007/03/03(Sat) 23:02:12)
>
> Windows.Formsなので当然非同期は使っています(^^;
なら、後は適当にプーリングの仕組みを自作すればいいだけでは?
記事No.1704 のレス /過去ログ10より /
関連記事表示
削除チェック/
■1716
Re[4]: WebClientインスタンスのプーリングについて
□投稿者/ Hirotow -
(2007/03/03(Sat) 23:20:40)
>
■
No1714
(渋木宏明(ひどり) さん) に返信
>>Windows.Formsなので当然非同期は使っています(^^;
>
> なら、後は適当にプーリングの仕組みを自作すればいいだけでは?
>
がんばってみます。
記事No.1704 のレス / END /過去ログ10より /
関連記事表示
削除チェック/
■1717
Re[5]: WebClientインスタンスのプーリングについて
□投稿者/ なちゃ -
(2007/03/04(Sun) 00:31:48)
WebClientってプーリングしなきゃならないようなクラスでしたっけ?
いや試してないのでどの程度差があるかは分かってないんですが…
記事No.1704 のレス /過去ログ10より /
関連記事表示
削除チェック/
■1720
Re[6]: WebClientインスタンスのプーリングについて
□投稿者/ 渋木宏明(ひどり) -
(2007/03/04(Sun) 06:14:36)
>
■
No1717
(なちゃ さん) に返信
> WebClientってプーリングしなきゃならないようなクラスでしたっけ?
複数のダウンロードを同時並行に扱うなら、そして、動的にダウンロード数の管理を行いたいなら、プーリングの機構が必要じゃないですか?
1個の WebClient で、ダウンロードが完了する前に何度も DownloadXXXAsync() 呼び出しが行えるようなつくりになっているなら話は別ですが。
ちなみに、ここで言うプーリングは SqlConnection のような接続のプールではなく、スレッドプールのような「WebClient のインスタンス」のプールの話だと思います。
記事No.1704 のレス /過去ログ10より /
関連記事表示
削除チェック/
■1723
Re[7]: WebClientインスタンスのプーリングについて
□投稿者/ Hirotow -
(2007/03/04(Sun) 10:57:30)
>
> ちなみに、ここで言うプーリングは SqlConnection のような接続のプールではなく、スレッドプールのような「WebClient のインスタンス」のプールの話だと思います。
そういうことです。
# ただ、結構仕様は変わりそうです。
記事No.1704 のレス /過去ログ10より /
関連記事表示
削除チェック/
■1724
Re[8]: WebClientインスタンスのプーリングについて
□投稿者/ 渋木宏明(ひどり) -
(2007/03/04(Sun) 11:18:59)
>
>>ちなみに、ここで言うプーリングは SqlConnection のような接続のプールではなく、スレッドプールのような「WebClient のインスタンス」のプールの話だと思います。
>
> そういうことです。
であれば、プールの実装自体は簡単なもので十分なはずです。
List<WebClient> を lock で保護しつつ使う、とか。
記事No.1704 のレス /過去ログ10より /
関連記事表示
削除チェック/
■1726
Re[9]: WebClientインスタンスのプーリングについて
□投稿者/ aoa -
(2007/03/04(Sun) 13:42:06)
2007/03/04(Sun) 14:11:24 編集(投稿者)
WebClientをプーリングするのではなく、
スレッドをプーリングしてその中でWebClientのインスタンスをnewすればいいと思ったのですが、
非同期のDownloadXXXAsync()を使う、ということでしたね。
勘違いしていました。すいません。
記事No.1704 のレス /過去ログ10より /
関連記事表示
削除チェック/
■1771
Re[10]: WebClientインスタンスのプーリングについて
□投稿者/ 渋木宏明(ひどり) -
(2007/03/05(Mon) 23:13:27)
>
遅レスですが。。。
> 2007/03/04(Sun) 14:11:24 編集(投稿者)
>
> WebClientをプーリングするのではなく、
> スレッドをプーリングしてその中でWebClientのインスタンスをnewすればいいと思ったのですが、
> 非同期のDownloadXXXAsync()を使う、ということでしたね。
> 勘違いしていました。すいません。
非同期処理(=DownloadXXXAsync())を採用することによって、ダウンロード処理に関しては、コードで明示的にスレッドを起こす必要はなくなります。
非同期リクエストを行わなくても、どうも WebClient は内部で勝手にスレッドを起こしている気配も感じられます。
また、WebClient によるセッションにはランタイムでその最大数に制限を課していたはずです。
なので、ダウンロード処理と、ダウンロードしたコンテンツの処理を分離することで、スレッドの無駄遣いを抑えたり、セッション数の制限からくる無駄なスレッドのブロックを避けられる可能性があります。
記事No.1704 のレス /過去ログ10より /
関連記事表示
削除チェック/
■1773
Re[11]: WebClientインスタンスのプーリングについて
□投稿者/ Hirotow -
(2007/03/05(Mon) 23:39:04)
>
> なので、ダウンロード処理と、ダウンロードしたコンテンツの処理を分離することで、スレッドの無駄遣いを抑えたり、セッション数の制限からくる無駄なスレッドのブロックを避けられる可能性があります。
分離。
面倒なのでコンポジションは好みではないのですが、正論的にはそうすべきですね。
ほかには、ダウンロードはたぶんリソースを消費しやすい処理だと思うので、使いまわすかその都度破棄するかしなければいけないと。
あとリジュームなどの割と高度な機能を組み込むとなるとWebClientでは力不足なので(できないことはなさそうだが)、WebRequest/WebResponseでの独自実装(ほとんどどぼんさんとこの流用ですが)も作りたいところです。
# 花粉症で頭が回らない(泣)
記事No.1704 のレス /過去ログ10より /
関連記事表示
削除チェック/
<<
0
>>
パスワード/
-
Child Tree
-