かなり単純なASP.MVCビューでパフォーマンスの問題が発生します。
これは、ほぼ瞬時に実行されるはずのログオンページですが、約0.5秒かかります。
多くの掘り下げの後、問題は最初の呼び出しであるように見えますUrl.Action-それは約450msかかります(MiniProfilerによると)が、それはめちゃくちゃ遅いようです。
の後続の呼び出しUrl.Actionは1ミリ秒未満かかります。これは、私が期待するものとより一致しています。
これは、使用するか使用するかにかかわらず一貫Url.Action("action", "controller")していますUrl.Action("action")が、を使用すると発生しないようですUrl.Content("~/controller/action")。これは、を呼び出すときにも発生しますHtml.BeginForm("action")。
誰かがこれを引き起こしているものを知っていますか?
ソースを掘り下げるRouteCollection.GetVirtualPathと、との両方に共通しているため、それが原因である可能性がありUrl.ActionますHtml.BeginForm。しかし、確かにそれは至る所で使用されていますか?つまり、1/2秒は遅すぎます。
私は20かそこらのカスタムルートを持っています(それはいくつかのレガシーWebFormsページを備えたかなり大きなアプリです)が、それでも時間が遅すぎるようです。
それを修正する方法はありますか?