2012-08-23 12 views
8

私は同じマシン上でホストされているWCFデータサービスに接続しているWindowsアプリケーションを持っています。Fiddlerの実行中にWCFデータサービスのパフォーマンスが向上するのはなぜですか?

アプリケーションの起動時に最初に発生するのは、0〜3の結果を返すクエリです。ここでは、コードがあります:

var environments = ctx.Environments 
.AddQueryOption("$filter", "Environment eq '" + ConfigurationManager.AppSettings["environment"] + "'") 
.AddQueryOption("$expand", "Departments, SecurityGroups"); 

私は非常に次のことは評価するために約10秒かかる場合(environments.Count()== 0)をチェックです。初めての方が遅いようですが、常に6秒以上かかります。しかし、私がFiddlerを走らせていると、私はいつもすぐに結果を返す。

なぜFiddlerを実行すると速くなるのですか?

+0

あなたのアプリケーションには、副作用がありません。あなたは他の場所で調査を行うべきです。 – DarthVader

+0

@DarthVader:私はそうでもないと思いますが、特にパフォーマンスが向上するとは思っていませんでした。それにもかかわらず、それは起こっている。 – DarLom

+0

あなたのアプリをデバッグして、何が遅延を引き起こしているのか見てみませんか?フィドラーが実行されている間にデバッグします。違いを見ます。 – DarthVader

答えて

0

私はすべての回答に感謝しますが、最終的に私のVS 2010の開発環境に何か問題があったようです。私はFiddlerの起動と実行を維持することで遅い応答に対処することができましたが、Telerikのコントロールスイートをインストールした後、アプリケーションはデバッグ中にフォームをロードするのに約1分かかりました。これを疑うのは他の問題と関連していました。私はVS 2012をインストールしてプロジェクトをアップグレードしましたが、今はすべてが期待通りに機能します。

ご回答いただきありがとうございます。

0

weismatが示唆するように、それはDNSの問題である可能性があります。 WCF URLでDNS名を使用している場合は、代わりにloopback ip(127.0.0.1)またはローカルIPを使用してみてください。

1

フィドラーを実行すると、すべてのネットワークコールのプロキシとして機能します。したがって、おそらくこのプロキシは実際のDNSホストよりも速く応答します。バインド設定で設定した接続タイムアウトは何ですか?

関連する問題