C#静态数据库类?
我有一个数据库类,其中包含以下方法:
> public bool ExecuteUDIQuery(string query)// UDI = Update Delete Insert 方法的结果存储在私有数据集或数据表中.这些对象被定义为getter. 大约有10个类使用Database类.每个类都创建一个Database类的对象.现在我正在考虑使Database类保持静态.这是一个好主意吗?如果是这样,为什么?不,为什么不呢? 解决方法
如果我理解,数据库类有一些存储查询结果的属性?如果是这样,则无法使它们成为静态,因为这不是线程安全的.如果查询的结果存储在这些属性中,如果第二个查询在第一个查询之后立即执行会发生什么?它将存储在相同的静态变量中.对于Web应用程序也是如此:浏览站点的另一个用户的结果将改变第一个用户的结果.
编辑:总而言之,当您将查询结果存储在静态变量中时,请不要使该类保持静态,特别是在网站中使用该类时,不要使该类静态,因为属性值将在您网站的所有访问者之间共享.如果20个访问者同时进行查询,则访问者1将看到访问者20的查询结果. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |