2011-04-08 121 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

相关问题