2012-07-13 31 views
3

在一頁上,我看到一些AJAX請求的延遲時間爲500ms,這是我無法解釋的。有問題的頁面在加載時觸發兩個AJAX請求,並且其中一個會被阻止。這是爲什麼?ASP.NET MVC中的大規模延遲3

在調用Application_AcquireRequestState方法之前,ASP.NET堆棧做了什麼?我使用了MiniProfiler的隔離區分析方法,當調用Application_AcquireRequestState時,我可以看到在這兩個調用之間花費了很長時間Application_PostMapRequestHandlerApplication_AcquireRequestState

我已完全禁用會話狀態。

<?xml version="1.0" encoding="utf-8"?> 
<packages> 
    <package id="Appfail.WebForms" version="1.1.0" targetFramework="net45" /> 
    <package id="AttributeRouting" version="2.5.1.0" targetFramework="net45" /> 
    <package id="AttributeRouting.Core" version="2.5.1.0" targetFramework="net45" /> 
    <package id="AttributeRouting.Core.Web" version="2.5.1.0" targetFramework="net45" /> 
    <package id="AutoMapper" version="2.1.267" /> 
    <package id="CodeContracts.Unofficial" version="1.0.0.2" targetFramework="net45" /> 
    <package id="DataAnnotationsExtensions" version="1.1.0.0" /> 
    <package id="DataAnnotationsExtensions.MVC3" version="1.1.0.0" /> 
    <package id="DiffPlex" version="1.2.0" targetFramework="net45" /> 
    <package id="DotNetOpenAuth.Core" version="4.1.0.12182" targetFramework="net45" /> 
    <package id="DotNetOpenAuth.OAuth.Consumer" version="4.1.0.12182" targetFramework="net45" /> 
    <package id="DotNetOpenAuth.OAuth.Core" version="4.1.0.12182" targetFramework="net45" /> 
    <package id="DotNetOpenAuth.OAuth2.Client" version="0.25.0-draft1" targetFramework="net45" /> 
    <package id="DotNetOpenAuth.OAuth2.ClientAuthorization" version="0.25.0-draft1" targetFramework="net45" /> 
    <package id="DotNetOpenAuth.OAuth2.Core" version="0.25.0-draft1" targetFramework="net45" /> 
    <package id="DotNetOpenAuth.OpenId.Core" version="4.1.0.12182" targetFramework="net45" /> 
    <package id="DotNetOpenAuth.OpenId.RelyingParty" version="4.1.0.12182" targetFramework="net45" /> 
    <package id="DynamicQuery" version="1.0" /> 
    <package id="EntityFramework" version="5.0.0" targetFramework="net45" /> 
    <package id="LinqKit" version="1.0" targetFramework="net45" /> 
    <package id="Microsoft.AspNet.Mvc" version="4.0.20710.0" targetFramework="net45" /> 
    <package id="Microsoft.AspNet.Razor" version="2.0.20710.0" targetFramework="net45" /> 
    <package id="Microsoft.AspNet.Web.Optimization" version="1.0.0" targetFramework="net45" /> 
    <package id="Microsoft.AspNet.WebPages" version="2.0.20710.0" targetFramework="net45" /> 
    <package id="Microsoft.Net.Http" version="2.0.20710.0" targetFramework="net45" /> 
    <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" /> 
    <package id="MiniProfiler" version="2.0.2" /> 
    <package id="MiniProfiler.EF" version="2.0.3" /> 
    <package id="morelinq" version="1.0" targetFramework="net45" /> 
    <package id="Newtonsoft.Json" version="4.5.8" targetFramework="net45" /> 
    <package id="RequestReduce" version="1.8.76" targetFramework="net45" /> 
    <package id="WebActivator" version="1.5.1" /> 
    <package id="WebGrease" version="1.1.0" targetFramework="net45" /> 
</packages> 
+0

我從未見過這個*永遠*。你正在運行什麼模塊,你在兩者之間做什麼工作? – 2012-07-13 22:19:04

+0

@AndrasZoltan我不會在我所知道的兩者之間做任何事情。我已經爲這個問題添加了packages.config。 – CMircea 2012-07-13 22:33:55

+0

我認爲這些包中至少有一個引起了延遲,因爲即使使用EF或LINQ也不會引起任何人都知道的這些問題。我不能回答這個問題,因爲我不熟悉所有這些軟件包。您是否在開始之前升級/添加了任何軟件包?它可能是一個臨時的ASP.NET文件問題(難以找到正確的程序集)? – Tommy 2012-07-14 04:04:55

回答

0

也許無關,BU我不得不因爲大量的初始化我在Global.asax中的Application_Start()方法做了同樣的問題。一旦我將它們最小化,我的第一次冷負荷變得比以前快得多。

+0

我沒有太多的初始化。但是,我仍然有要求之間的延遲。我有一個頁面在加載時觸發兩個AJAX請求,其中一個將被阻止半秒。 – CMircea 2012-08-29 06:21:07