2011-04-08 160 views
0

HI,會話超時重定向到登錄頁面在Silverlight

我在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; 
     } 

怎麼辦在這一步之後?

回答

0

App.Current.RootVisual = new LoginPage();

+0

但是它將如何知道用戶是空閒2分鐘不是會話必須過期並重定向到登錄頁面? – user662285 2011-04-11 03:44:48

+0

您可以訂閱確定用戶活動的事件f.i. MouseMove事件。啓動計時器,並在每個用戶活動上重置它,如果用戶的活動間隔爲2分鐘,則應更改root可視化(如果使用Navigation Framework,則可以重定向用戶)。但我建議僅在asp.net會話過期時在登錄頁面上重定向用戶。 – 2011-04-11 07:16:06

+0

如何檢查asp.net會話是否過期 – user662285 2011-04-11 08:58:27

相關問題