2016-06-16 19 views
1

私たちはC#で開発されたWindows Formsアプリケーションを当社で実行しています。C#Windows Formsアプリケーションは、マップされたネットワークドライブから遅く実行されます

たとえば、C:ドライブのローカルマシンからアプリケーションを実行すると、アプリケーションが読み込まれて高速に実行されます。それはデータベースベースです。つまり、MSSQLサーバーに対して多くのクエリを実行し、ローカルドライブから実行している間にすべてのクエリを1秒未満で実行します。

マップされたネットワークドライブ(UNCパス、M:マップされたドライブではない)から同じアプリケーションを実行すると、読み込みは高速ですが、クエリの実行に時間がかかり、結果をほとんど見ることができません。

ClickOnceは私たちのためのオプションではありません(ここでは議論の対象とならないため)、同じマップされたM:ドライブから高速に実行されるいくつかの他社製アプリケーションがあります。

私はいくつかの研究をした、と私は見つけることができる最も近い質問はこの1つである: http://stackoverflow.duapp.com/questions/2554716/my-c-net-application-is-running-slower-when-the-exe-is-located-on-the-network

私はアプリケーションを右クリックすると添付セカンダリストリームがありませんと言われます利用可能な「ブロック解除」オプションは、ありませんそのファイルは "信頼できる"ものです。

また、私は=「true」を.configファイルで/ >有効< loadFromRemoteSourcesを追加しようとしたが、それはこれまでのところ、アプリケーションのパフォーマンスには変化が発生することはありません。

アプリケーションに署名はなく、アプリケーションのデバッグバージョンとリリースバージョンの両方で遅くなります。

私たちは間違って何をしていますか?

PS:私はまだ、作業に時間がかかる正確なコマンドを特定しようとしていますが、これまでのところ運がありません。

EDIT:新しい情報を追加しています。問題はネットワーク自体ではなく、アプリケーションがバックグラウンドタスクを実行していて、ネットワークから実行されているために失敗したということです。この失敗はtry-catchブロックの周りに巻き込まれず、バックグラウンドタスクが正常に戻るのを防ぎ、アプリケーションの応答に大きな遅延をもたらしました。

つまり、Windowsの不具合ではなく開発バグです。答えをありがとう、私はこの質問を閉じるために投票します。

+0

本当の問題は質問に関連するものではなく、アプリケーション内のバグの副作用であるため、この質問を議論の対象外としています。この質問は役に立たないので、できれば削除するよう投票します。 – Machado

答えて

1

私は最近、正確にこれが起こっていた1つのシナリオをアプリケーションで見つけました。

1台のマシンでは、アプリケーションは高速で、別のマシンでは数秒かかりました。

第2マシンは、PPTP経由でVPNダイヤルを使用するように構成されていました。 VPNがautomatically reconnecting whenever the computer got onlineでした - マシンが企業ネットワークにあっても(VPNが必要ない場合) VPNの自動リダイヤルトリックは、常に非常に有用であるように見えました... SQLサーバーへの接続が基本的に見つかるまでいつもがVPNを通過しました。手動でVPNを即座に切断すると、:応答が再び高速になりました。

これはあなたのケースでは明確な解決策ではありませんが、これはほとんど受け入れられないクエリの遅さを引き起こす原因の1つです。私はこの最初の手を観察した。

+0

Hm。これは確かに奇妙な問題です。私のマシンと他のユーザーのマシンをチェックして、VPNが設定されていない場合に備えて。ところで、私たちのアプリはWindows 7 x64で動作します。私たちのマシンはすべてWindows 7です。 – Machado

+0

@Machado - SQLプロファイラを利用してクエリ時間を測定できますか? 「高速」および「低速」のケースで応答に大きな違いが見られない場合、これはネットワーク上の問題です。ヒント:シンプルなSQLプロファイラ(無料、ポータブル、スタンドアロンのexe、インストール不要):[Express Profiler](https://expressprofiler.codeplex.com/) – miroxlav

+0

ここで実行できる組み込みのMSSQLプロファイラがあります。私はいくつかのテストを実行し、結果を投稿します。 – Machado

関連する問題