2011-06-29 17 views
0

私はVB.Net 2コード(VS 2005)をVB.Net 4(VS 2010)に移植しています。これまでのところ、物事は比較的スムーズに進んでいます。しかし、私の新しい移植コードをテストすると、私は奇妙な振る舞いに出くわしました。SqlClient.SqlDataAdapter.Update()は非常にゆっくり実行されます

VS 2005(.Net 2)では、DataTableにデータが格納されています。その後、DataAdapterを使用してSQL Serverに更新を返します。 SqlClient.SqlDataAdapter.Update()コマンドを実行すると、約4秒で実行されます。 VS 2010(.Net 4)の同じテーブルの同じコードは、1分17秒で実行されます。これはまったく受け入れられません。しかし、私はなぜそれが起こっているのか分からない。 .Update()メソッドは内部コマンドであり、何らかの方法で変更したものではありません。それはエラーではありません、それはちょうど痛いほど遅いです。

誰もが考えている?

+0

この問題を聞いたことがある人がいますか?誰も.Net 4のSQLClient.SQLDataAdapterを使用してパフォーマンスの低下を気付いたことはありませんか? – TekkGuy

+0

このようなものは見当たりません。古いものと新しいもののプロファイラをオンにして、同じ操作を比較して、手がかりを与えるかもしれません –

答えて

2

マイクロソフトと直接協力して何ヶ月も...解決策/回答が見つかりました。

私は6人の異なるマイクロソフトのプログラマーがいて、答えを発見するのにおよそ6ヶ月を要したので、気分が悪いです。どうやら、Visual Studio 2010のIDEは、Visual Studio 2005のそれとは大きく異なる動作をしているようです。 IDEでアプリケーションを実行すると、実行可能な実行可能ファイルへのVS2010のフックは、実際にはアプリケーションのパフォーマンスをかなり阻害します。デバッガを接続せずにアプリケーションを実行するための隠しオプション(メニュー構造にはありません)があります。ホットキーはCTRL + F5です。このモードでアプリケーションを実行すると、パフォーマンスの問題がなくなりました。そんなに愚かで簡単な答えですが、私の気分を良くする2つのことは、VS2005にはこの問題がないことです。メニューには「デバッガなしで実行」オプションが表示されず、これを判断する6人のマイクロソフトのプログラマが問題でした。

他にも同じ問題があるようです... CTRL + F5を押してください。 :-)

関連する問題