DOBON.NETプログラミング道掲示板

ツリー一括表示

Nomalアイコン Taskクラスを.NET Framework 2.0で実現させる方法 /nao (20/03/21(Sat) 11:59) #34443
Nomalアイコン Re[1]: Taskクラスを.NET Framework 2.0で実現させる方法 /Hongliang (20/03/21(Sat) 13:22) #34444
  └Nomalアイコン Re[2]: Taskクラスを.NET Framework 2.0で実現させる方法 /nao (20/03/21(Sat) 15:55) #34445


親記事 / ▼[ 34444 ]
■34443 / 親階層)  Taskクラスを.NET Framework 2.0で実現させる方法
□投稿者/ nao 一般人(6回)-(2020/03/21(Sat) 11:59:47)
  • アイコン環境/言語:[Windows7 32bit、 VB.NET、.NET Framework 2.0] 
    分類:[.NET] 

    連投失礼いたします。

    .NET Framework 4.0以降ではバックグラウンド処理にTaskクラスが使用できると思いますが、.NET Framework 2.0でTaskクラスと同等の動作ができる方法はありませんでしょうか。

    何をしたいかといいますとHTTPサーバーとのやり取りをDLL化したいのです。
    なお、当方の都合上で申し訳ありませんが、.NET Frameworkのバージョンを上げることができません。

    よろしくお願いいたします。
違反を報告
[ □ Tree ] 返信 削除キー/

▲[ 34443 ] / ▼[ 34445 ]
■34444 / 1階層)  Re[1]: Taskクラスを.NET Framework 2.0で実現させる方法
□投稿者/ Hongliang 大御所(576回)-(2020/03/21(Sat) 13:22:51)
  • アイコンこういうのはあります。
    https://www.nuget.org/packages/TaskParallelLibrary
    .NET Framework 4相当品なのでTask.RunとかTask.Delayとかはありませんが。
    直接バイナリをダウンロードすることはできなかったような気がするので、簡単な方法としては以下のような手順でしょうか。
    1. Visual Studio 2017以降ぐらいを使ってダミーの.NET Framwork 3.5プロジェクトを作成
    2. NuGetパッケージの管理から該当パッケージをインストール
    3. ソリューションのディレクトリ内のどこかにdllがおかれるので、Explorerでファイルコピー

    // さらにasync/awaitを実現可能にするAsyncBridgeというパッケージもありますが、Visual Studio 2005だと関係ないですね。

    「同等」がどこまで指すのか分かりませんが、.NET Framework 2.0時点で標準ライブラリ内での汎用非同期ライブラリとしては、BackgroundWorkerが存在しています。

    またHTTPアクセス系のライブラリとしては、.NET Framework 1.0当初より、以下のようなメソッドが非同期用に用意されています。
    ・WebClientにはイベントベースで実現する各XxxAsyncメソッド
    ・HttpWebRequestにはIAsyncResultベースで実現するBeginGetResponseメソッド、
     および送受信ストリームで使用するBeginWrite/BeginReadメソッド
違反を報告
[ 親 34443 / □ Tree ] 返信 削除キー/

▲[ 34444 ] / 返信無し
■34445 / 2階層)  Re[2]: Taskクラスを.NET Framework 2.0で実現させる方法
□投稿者/ nao 一般人(7回)-(2020/03/21(Sat) 15:55:04)
  • アイコンご回答ありがとうございます。

    ご紹介いただいたことを試してみたいと思います。

    ありがとうございました。
違反を報告
[ 親 34443 / □ Tree ] 返信 削除キー/


Mode/  Pass/


- Child Tree -