【问题标题】:How to ensure thread safety when using Enterprise Library's Data Acces使用企业库数据访问时如何确保线程安全
【发布时间】:2016-10-18 22:18:25
【问题描述】:

我有一个运行多个并发后台进程的应用程序,以使用企业库的数据访问应用程序块将数据插入数据库。 每个后台线程都使用 DatabaseFactory.CreateDatabase 传入相同的数据库实例名称。以下是检索数据库和命令对象的sn-p代码:

Microsoft.Practices.EnterpriseLibrary.Data.Database database = DatabaseFactory.CreateDatabase(this.DatabaseInstanceName);
DbCommand commandObj = database.GetSqlStringCommand(statement);

我发现这不是线程安全的,并且由于线程之间的值混淆而导致错误。我应该如何处理以确保它是线程安全的?

提前致谢!

【问题讨论】:

    标签: multithreading thread-safety enterprise-library data-access-app-block


    【解决方案1】:

    我发现了我的问题。跨线程混淆的值不是由于企业库数据访问对象,而是我用来存储参数的另一个对象。我不小心把它变成了全局而不是每个线程中的本地资源。

    【讨论】:

      猜你喜欢
      • 2011-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多