2012-06-03 2 views
1

쿠키 기반 ASPNET 폼 인증을 구현하는 웹 페이지가 있습니다.ASP NET 양식 승인 : 기간을 줄이는 방법?

사용자가 페이지에 로그인하면 부분보기를 사용하여 만든 양식을 사용하여 일부 정보를 편집하고 편집 대화 상자로 반환 할 수 있습니다. 로 장식되어있는 부분보기에 연결된 동작은 다음과 같습니다

[HttpGet] 
[OutputCache(Duration = 0, VaryByParam = "None")] 
[Authorize(Roles = "test")] 
public ActionResult changeTripInfo(int tripID, bool ovride=false) 
{ 
    ... 
} 

내가 경험하고 문제는 요청 대화 상자가 사용자에게 표시되는 시간 사이의 대기 시간입니다 : 시간이 800 사이의 범위 양식의 복잡성으로 정당화되지 않는 1100ms.

Glimpse를 조사하면 AuthorizeAttribute (snip 참조)을 처리하는 데 걸리는 시간이 최소 650ms로 계산되어 문제가 있음을 알 수 있습니다. SQL 서버 로그를 보면 사용자 역할을 확인하는 호출은 예상대로 사실상 아무 것도 (지속 시간 0) 걸립니다. 어떻게 시간을 단축 할 수 있습니까?

일부 최적화가 누락 되었습니까?
아니면 특성을 실행할 정상적인 시간이라고 가정해야합니까? (다른 서버에서 편향 테스트를 실행할 수 없습니다)?

timeline report -EDIT-

는 SQL 서버 통화 기록

Sql server log

답변

1

이 양식 및 자격 증명을 보유하고있는 SQL DB 사이의 인증 시간을 추가?

+0

나는 그렇게 말하지 않을 것이다 ... SQL Server 프로파일 러 덤프를 첨부했다. 여기서는 두 개의 역할을 검사하면서 GetRolesForUser에 대한 두 번의 호출과 데이터를 가져 오는 세 번째 호출을 볼 수있다. 양식 (기간이 6ms 인 양식). – eddo