2014-06-21 4 views
-2

시스템 다시 시작 후 (내일의 날짜와 토글 된 AM/PM 시간) My Server (VPS)는 DateTime보다 약 12 ​​시간 이상 걸립니다. 문제는 서버에서 날짜와 시간을 수정하면 더 이상 내 ASP 응용 프로그램에 로그인 할 수 없다는 것입니다. 실제로 로그인 프로세스는 잘 진행되지만 즉시 로그 아웃됩니다. 세션 시작 시간이 내일 (잘못된 DateTime)이고 여전히 슬라이딩 만료 시간이 현재 서버 시간과 비교되어 로그 아웃하는 것으로 보입니다. 세션 시작 시간을 어떻게 다시 시작할 수 있습니까? 올바른 DateTime을 사용하기 위해 다시 시작하는 서비스 또는 구성은 무엇입니까?서버에서 asp.net 세션 시작 시간을 restrart하는 방법?

+0

clari 일부 코드를 나타내지 않고 당신이 말하는 것에 대해,이 질문에 답하기 란 매우 어려울 것입니다. [좋은 질문이 있습니까?] (http://stackoverflow.com/help/how-to-ask) 및 도움말 센터의 관련 주제를 읽어보십시오. 감사. –

+0

세션 시간 제한을 수동으로 사용하지 않습니다. 그냥 asp.net 회원 양식 인증을 사용합니다. 따라서 코드가 필요하지 않으며 제 질문이 분명하고 정확하다고 생각합니다. – user3569123

답변

0

다시 시작한 후에 변경해서는 안되며, 서비스 제공 업체와이 상황을 공유합니까?

UTC 시간으로 작업하는 것이 더 좋습니다.

Dim timeZone = TimeZoneInfo.FindSystemTimeZoneById("Central America Standard Time") 
Dim utcNow As Date = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, timeZone) 

서버 시간을 변경하면 세션에 영향을 미치지 않습니다. 세션을 삭제하거나 갱신해야합니다. 단지 세션에 문제하다면

Session.Clear() 
Session.Abandon() 
Session.RemoveAll() 

도 다시 시작 응용 프로그램 같은 일을 할 것입니다. 이러한 방법으로 응용 프로그램을 다시 시작할 수 있습니다.

1

restart IIS 

2

File.SetLastWriteTime(HttpContext.Current.Request.MapPath("~\Web.config"), Date.Now) 

3

rename web.config file to something(like 0web.config) and after that rename it again to web.config 

4

create app_offline.htm on your root folder. it will close your app. when you want go online again rename it something else like 0app_offline.htm 
+1

기본 오프셋을 뺀 경우 일광 절약 시간제를 사용하는 표준 시간대는 고려되지 않습니다. 대신 'TimeZoneInfo.ConvertTimeFromUtc'를 사용하십시오. –

+0

@MattJohnson 귀하의 관심과 도움에 감사드립니다. 나는 나의 대답을 업데이트했다. 당신과 같은 누군가가 조언을한다면, 어떻게 그에게 신용을 줄 수 있습니까? – marathonman

+0

방금 ​​했었습니다. :) 코멘트에 조언을 할 필요가 없습니다. 다른 사람들이 유용하다고 생각하면 댓글을 upvote 할 수 있습니다. –