2011-08-26 7 views
0

내 asp.net mvc 프로젝트에 문제가있어 몇 분 만에 시간이 초과되었습니다. 로그 아웃 할 때 상당히 복잡한 업로드 및 가져 오기 절차가 있으므로 특히 짜증이납니다. 나는 현재 인증을 위해 asp.net 회원 공급자를 사용한다.asp.net 세션 시간 초과 문제

나는이 사이트와 다른 사이트에서 본 몇 가지 사항을 시도했지만 아무 소용이 없습니다. 저는 여기에 웹 설정에 지금까지 무엇을 가지고 :

<location path="Admin/Upload"> 
    <system.web> 
     <httpRuntime executionTimeout="1200"/> 
    </system.web>  
</location> 

<system.web>  
<sessionState mode="InProc" timeout="20" cookieless="false" /> 

<authentication mode="Forms"> 
    <forms loginUrl="~/Account/LogOn" timeout="20" /> 
</authentication> 

<add name="ConnectionString" providerName="System.Data.SqlClient" connectionString="Server=SERVERNAME;Database=DBNAME;User Id=USER;Password=PASSWORD;timeout=30;MultipleActiveResultSets=True" /> 

나는 내가 다음 2 분에 상향 조정 된 sessionState의 시간 제한을 추가하기 전에 시간이 초과되기 전에 만 분이었다 확신 할 수는 없지만 100 %.

나는이 사용에 대한 생각 :

<lifetime leaseTime="15M"/> 

...하지만 100 % 확인하는 방법을 구현하는 - 사람이 내가 시도 할 수 뭔가 다른 그 어떤 성공을 거두었, 또는 알아?

감사

편집 : 클라우드 호스팅 솔루션에있어,하지만 컨트롤 패널이 - IIS

업데이트 할 액세스 : 나는 지금 평생 leasetime를 추가하는 시도하고 그것이 이루어지지 상관 없음을 차이 :

<system.runtime.remoting> 
    <application> 
     <lifetime leaseTime="20M" /> 
    </application> 
    </system.runtime.remoting> 
</configuration> 

업데이트 2 : 좋아, 나는 제목과 내 최신 노력을 반영하기 위해 웹 설정 값을 편집했지만, 난 여전히 사투를 벌인거야. 나는 연결 시간 제한을 20 분으로 설정 한 호스팅 회사에 말했습니다. 그러나 세션은 10 분 후에 종료됩니다. 내가 할 수있는 다른 것이 있습니까?

나는 거기에 도착하지만 20 분을 바라고 있습니다!

+0

왜 ''요소를 사용하여 ASP에서 권한을 관리하고 있습니까?NET MVC 응용 프로그램을 컨트롤러/액션을'[Authorize]'속성으로 꾸미는 대신에? –

+0

안녕하세요. 나는 실제로 [Authorize] 속성을 사용했습니다. 이것은 해결책을 찾고있을 때 어제 추가 한 것입니다. –

+0

시간 제한은 언제입니까? 업로드하는 동안? 공회전하는 동안? 응용 프로그램 풀 문제 (작업자 프로세스 재활용 ...) –

답변

0

맞아요,이 문제에 대한 해결책이 있지만 예상 한 바가 아닙니다.

내가 aspnet 멤버쉽 공급자를 잘못 사용하고있는 것으로 판명되었습니다. 나는 UserId를 세션 변수로 설정하고 사이트 전체에서 사용하는 이전의 회원 시스템과 같이 사용하고있었습니다. 그 다음 그것을 사용하는 잘못된 방법임을 발견하고 그것을 User.Identity.IsAuthenticatedMembership.GetUser().ProviderUserKey의 조합으로 변경했습니다.

더 이상 시간이 초과되지 않으며 모두 정상입니다. 어쨌든 고마워.

1

수명 평생 태그는 응용 프로그램 태그에 포함됩니다.

<application> 
    <lifetime leasetime = "15M"/> 

끝까지 M을 사용해야하는 경우 다른 시간 초과 IDK와 같으면 실제로 사용해 본 적이 없습니다. 그것은 순수한 추측입니다. 또한 "0"으로 설정하여 수명이 영원히 유지되도록 할 수 있어야합니다.

100 분 동안 설정해야하는 세션 시간 제한은 다음과 같습니다. 그러나, 이러한 종류의 질문에 전혀 관계가없는 당신의 <configuration> 태그

편집 의 내부에 있어야한다. 그러나 런타임 실행 시간 제한이 "9000 이상"인 방법을 좋아합니다.

+0

하 - 방금 그 코드 블록을 복사하여 붙여 넣었습니다. 양! sessionState는 Configuration 태그에 있습니다. 하지만 웹 설정 전체가 꽤 많이 있습니다. 나는 많은 것을 붙여 넣기에 감각을 보지 못했습니다. 단지 조각을 넣었습니다. –

+0

글쎄, 당신이 그것을 복사 한 코드를 가정하면 왜 그것이 9001이 되어야만했는지에 대한 구체적인 이유가 없었을 것입니다. 나는 추측하고 있습니다. 그들은 DragonBall Z 팬 롤이기 때문입니다. 이 문제를 해결할 수 있었습니까? 아니면 여전히 문제가 발생 했습니까? – Tony318

+0

그래도 문제는 여전히 불행히도 발생합니다. 일생 leasetime은 아무런 효과가 없었습니다. –