Web应用程序中的静态类

时间:2013-10-14 15:11:32

标签: c# asp.net-mvc static

在Web应用程序中使用静态类是不是一个错误的选择?

如果用户在角色x中,可以说一个人正在使用静态类进行角色验证。我认为当有很多用户时,它可能会排队使用该类。

有什么建议吗?

2 个答案:

答案 0 :(得分:3)

静态类在Web应用程序中很好用。请记住,所有线程都可以同时访问该类,因此您需要考虑操作的线程安全性。在您的示例中,角色验证非常合理,因为您可以在应用程序启动时加载角色,并且在执行期间只读取。这将使你的类线程安全。

我使用静态类来缓存MVC应用程序中基于用户名的用户ID之类的信息。现在,在处理缓存时,您需要担心线程安全,因为您有时都在阅读和写作。但你明白了。 Web应用程序中的静态信息100%正常。

答案 1 :(得分:0)

除非在该静态类或其他内容中存在共享资源,并且实现了锁定以使其成为线程安全的 - 在从多个用户/请求/线程同时访问它时,您不会遇到任何排队问题。