加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#静态数据库类?

发布时间:2020-12-15 18:22:47 所属栏目:百科 来源:网络整理
导读:我有一个数据库类,其中包含以下方法: public bool ExecuteUDIQuery(string query)// UDI = Update Delete Insert public bool ExecuteSelectQuery(string query) public bool ExecuteSP(string sp,string [,] parms) public int ExecuteSPReturnValue(strin
我有一个数据库类,其中包含以下方法:

> public bool ExecuteUDIQuery(string query)// UDI = Update Delete Insert
> public bool ExecuteSelectQuery(string query)
> public bool ExecuteSP(string sp,string [,] parms)
> public int ExecuteSPReturnValue(string sp,] parms)

方法的结果存储在私有数据集或数据表中.这些对象被定义为getter.

大约有10个类使用Database类.每个类都创建一个Database类的对象.现在我正在考虑使Database类保持静态.这是一个好主意吗?如果是这样,为什么?不,为什么不呢?

解决方法

如果我理解,数据库类有一些存储查询结果的属性?如果是这样,则无法使它们成为静态,因为这不是线程安全的.如果查询的结果存储在这些属性中,如果第二个查询在第一个查询之后立即执行会发生什么?它将存储在相同的静态变量中.对于Web应用程序也是如此:浏览站点的另一个用户的结果将改变第一个用户的结果.

编辑:总而言之,当您将查询结果存储在静态变量中时,请不要使该类保持静态,特别是在网站中使用该类时,不要使该类静态,因为属性值将在您网站的所有访问者之间共享.如果20个访问者同时进行查询,则访问者1将看到访问者20的查询结果.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读