1

我在我的 web 应用程序项目中使用静态类和静态属性以及静态函数在 web 表单之间传输数据,但我希望每个用户的静态类是单独创建的。有这种吗???我的观点是,当用户登录时,在 Web 应用程序中创建了一个新的静态类,还是从这个静态类中为所有用户创建了一个对象?请帮助并回答我!

4

1 回答 1

3

staticasp.net 中的类是跨线程共享的,线程和用户之间没有直接关联。一个用户可能使用多个线程来处理客户端请求,或者多个用户可能只使用一个线程来处理他们的所有请求。这取决于服务器配置和负载。

虽然static可以在 asp.net Web 应用程序中使用方法,static但应避免使用成员(字段和属性)。这些底层变量/容器是共享的,一个线程将覆盖另一个线程的值并导致非常困难的调试场景。

标记一个类static要求所有方法和成员都是静态的,并且在 asp.net 中通常应避免使用。我不时使用静态类将基于实例的对象和值公开到类外部。还有扩展方法的示例,它们在 asp.net 中很好,因为它们不包含静态字段。

于 2013-10-31T13:52:13.640 回答