在Web应用程序中使用静态类是不是一个错误的选择?
如果用户在角色x中,可以说一个人正在使用静态类进行角色验证。我认为当有很多用户时,它可能会排队使用该类。
有什么建议吗?
答案 0 :(得分:3)
静态类在Web应用程序中很好用。请记住,所有线程都可以同时访问该类,因此您需要考虑操作的线程安全性。在您的示例中,角色验证非常合理,因为您可以在应用程序启动时加载角色,并且在执行期间只读取。这将使你的类线程安全。
我使用静态类来缓存MVC应用程序中基于用户名的用户ID之类的信息。现在,在处理缓存时,您需要担心线程安全,因为您有时都在阅读和写作。但你明白了。 Web应用程序中的静态信息100%正常。
答案 1 :(得分:0)
除非在该静态类或其他内容中存在共享资源,并且实现了锁定以使其成为线程安全的 - 在从多个用户/请求/线程同时访问它时,您不会遇到任何排队问题。