清除ASP.NET MVC中的特定控制器会话

时间:2014-08-22 06:10:05

标签: c# asp.net-mvc session

在我的项目中,我使用会话来维护一些复杂的类型数据。如果指定的控制器未在指定的时间内被命中,我想清除该会话,需要清除仅在该控制器中使用的特定会话而不是整个用户会话。

让我们说,

BusinessController 有一些ActionMethods,如 Test1,Test2

ActionMethod Test1有一些会话,如会话[" MyData"],会话[" ListOfBusiness"] 。 ActionMethod Test2有一些会话,如会话[" MyDataNew"],会话[" ListOfBusiness"]

我需要清除会话会话[" MyData"],会话[" ListOfBusiness"] 仅当 BusinessController未被点击时一段时间

谢谢,

古纳

1 个答案:

答案 0 :(得分:0)

您可以使用ActionFilterAttribute。这将针对每个操作进行调用,以便您可以检查控制器是否已被命中。对于检查,您可以创建一个会话,您可以在该控制器命中时存储时间,或者您可以将时间存储在数据库中。

每当您的BusinessController在会话或数据库中获得命中存储时间,并且当ActionFilterAttribute为execites时,获取B​​usinessController被命中的时间。我希望我已经清楚地解释过了。