我有一个 WCF Web 服务和一个显示该服务数据的 Silverlight 应用程序。在我的服务中,如果在一段时间内(例如 20 分钟)没有调用任何服务方法,我想实现用户的自动注销。
我在想这样的事情:
Dictionary<User,TimeSpan> Inactivity
当调用服务方法时,我重置 TimeSpan。但是,如果 20 分钟过去了,我调用 Logout 方法(清除所有用户缓存),突然用户从午餐中返回)并按下他的 Silverlight 应用程序中的按钮,会发生什么?显然他会出错。有什么办法可以避免这种情况,或者我的所有概念都是错误的?也许有更好的方法来自动注销用户?