かなり単純な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ページを備えたかなり大きなアプリです)が、それでも時間が遅すぎるようです。
それを修正する方法はありますか?