2013-10-14 63 views
2

它是一个糟糕的选择在web应用中使用静态类?静态类在Web应用程序

比方说,一个是使用角色验证一个静态类,如果用户在角色X。我认为当有很多用户时,它可能会排队使用这个类。

有什么建议吗?

+3

什么会排队?据我所知,多线程可以同时访问静态类或方法*,意识到在CPU上同时没有任何事情发生。你是否尝试过实例化和静态方法?你想解决什么问题?也许最重要的是,为什么不使用或扩展内置的角色提供者? – Yuck

回答

3

静态类是一个Web应用程序中就好了。请记住,所有线程都可以同时访问该类,因此您需要考虑操作的线程安全性。在你的榜样,角色的验证,这将是非常合理的,因为当应用程序启动并刚刚从执行过程中读取,你可以加载的角色。这会让你的类是线程安全的。

我用一个静态类缓存如基于关闭用户名在MVC应用程序的用户ID信息。现在,在处理缓存时,您需要担心线程安全问题,因为您有时候都在阅读和写作。但你得到的照片。 Web应用程序中的静态信息是100%可以。

+2

+1对于线程安全来说,我认为这是使用静态类和非静态类和方法唯一可能出现的问题。 – Yuck

0

除非有在静态类或某事的共享资源,并实施锁定,使其线程安全的 - 你不会有任何排队的问题,同时从多个用户/请求/线程同时访问它。

相关问题