有静态字段是不好的做法吗?

时间:2011-01-08 11:35:23

标签: static code-first

我在这种情况下使用静态字段,因为我认为在每次请求时重新创建对象都很耗时。

private static AnalysedCompanies db = new AnalysedCompanies();

 public class AnalysedCompanies:DbContext
    {
...    

    }

我首先使用实体​​框架代码。

比我有通过db对象从数据库保存和加载数据的方法。 静态db对象是否会导致瓶颈?这是正确的做法吗?

1 个答案:

答案 0 :(得分:2)

在ASP.net Web应用程序中,静态由所有用户共享,所以是的,这非常糟糕,因为这意味着用户A可能会看到/修改用户B看到的数据并导致各种令人头疼的问题。

静态数据适用于静态数据,即a)为每个人共享的数据,b)未被用户修改的数据(因为更改对所有其他用户是全局的)。我确实使用静态功能来处理系统配置或可以安全共享的对象。

我认为主要问题是:“我认为这很耗时” - 不要猜测,衡量。有很多可用于.net的分析器。如果您遇到性能问题,请测量一下是否确实存在问题然后采取行动。