2009-05-07 14 views
0

私はRequest.Formで非常に奇妙な動作をしています。ASP.NET:Request.Formが遅いです!

ここには、同じASP.NETアプリケーションを実行する2つのIIS 7サーバーがあります。最初のインスタンスではすべてOKです。しかし、第2のものは性能が非常に遅い。

context.Request.Form["id"] 

以上130ミリそれぞれの時間を要する:

プロファイラは、この行あることを示しました!

プロファイラログ:get_Form

0,60% - 4536ミリ秒 - 68の通話 - System.Web.HttpRequest.get_Form()

サーバーの構成は全く同じです(?)。最初のサーバがVistaを実行し、第二(遅い)WindowsのWebサーバーに実行されます2008

UPD: 両方のアプリケーションインスタンスは、統合モードで実行されている、プールの設定が同じです。

アイデア?

+0

奇妙な...両方とも統合モードで動作していますか? AppPoolの設定はすべて同じですか?誰かを助けることができるように投稿することができます。 –

+0

はい、統合モード、プール設定は同じです。質問が更新されました。 – alexey

+0

これを見てください: http://stackoverflow.com/questions/5880168/asp-net-request-form-performance/ – saver

答えて

0

固定!アプリケーションポートを80から8080に変更しました。この動作の理由はわかりません。

0

Request.Form ["id"]はこのリクエスト中にRequest.Formへの唯一の参照ですか?この場合、時間はフォームコレクションを参照するオーバーヘッドに関連している可能性があります。楽しみのために、Request.Formへの別の参照を追加して130msかかるかどうか試してください。

+0

それは間違いでした:単一のRequest.Form ["id"]は約60-65msかかります。 Request.Formへの参照が2つある場合、2 x 65 ms = 130 msが必要です。 – alexey