0
我在Silverlight應用維修器材會議通過web服務(WCF)。 現在我想重定向到登錄頁面,當用戶空閒2分鐘/會話過期(2分鐘後)。
目前我做這樣的:
WCF:
[OperationContract]
public int GetSessionTimeOut()
{
return HttpContext.Current.Session.Timeout;
}
的web.config:
<sessionState timeout ="2" ></sessionState>
Page.xaml.cs
void Welcome_Loaded(object sender, RoutedEventArgs e)
{
SessionService.SLWebServiceClient client = new SessionService.SLWebServiceClient();
client.GetSessionTimeOutCompleted += new EventHandler<SessionService.GetSessionTimeOutCompletedEventArgs>(client_GetSessionTimeOutCompleted);
client.GetSessionTimeOutAsync();
}
void client_GetSessionTimeOutCompleted(object sender, SessionService.GetSessionTimeOutCompletedEventArgs e)
{
int result = e.Result;
}
怎麼辦在這一步之後?
但是它將如何知道用戶是空閒2分鐘不是會話必須過期並重定向到登錄頁面? – user662285 2011-04-11 03:44:48
您可以訂閱確定用戶活動的事件f.i. MouseMove事件。啓動計時器,並在每個用戶活動上重置它,如果用戶的活動間隔爲2分鐘,則應更改root可視化(如果使用Navigation Framework,則可以重定向用戶)。但我建議僅在asp.net會話過期時在登錄頁面上重定向用戶。 – 2011-04-11 07:16:06
如何檢查asp.net會話是否過期 – user662285 2011-04-11 08:58:27