2012-07-13 4 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

ive 결코 본 적이 * 항상 *. 어떤 모듈을 실행하고 있으며 두 모듈간에 어떤 작업을하고 있습니까? –

+0

@AndrasZoltan 내가 아는 두 사람 사이에 아무 것도하지 않습니다. 질문에 packages.config를 추가했습니다. – CMircea

+0

적어도 이러한 패키지 중 하나가 EF 또는 LINQ를 사용해도 상자 MVC가 지연 문제를 일으키고 있다고 생각합니다. 누구나 알고있는 이러한 문제를 일으키지 않습니다. 나는이 모든 패키지에 익숙하지 않아서 대답 할 수 없다. 시작하기 전에 패키지를 업그레이드/추가 했습니까? 임시 ASP.NET 파일 문제 일 수 있습니까? (올바른 어셈블리를 찾는 데 어려움이 있습니까?) – Tommy

답변

0

어쩌면 관련이없는, BU 때문에 나는 내가() 메소드의 Global.asax 위해 Application_Start에서 한 초기화의 많은 같은 문제가 있었다. 내가 그들을 최소화하면 내 첫 차가운 하중이 이전보다 훨씬 빨라졌습니다.

+0

초기화가 너무 많습니다. 그러나 요청 간에는 여전히 지연이 있습니다. 나는 두 개의 AJAX 요청을로드하는 페이지를 가지고 있으며 그 중 하나는 0.5 초 동안 차단됩니다. – CMircea