如何在使用Enterprise Library's Data access时确保线程安全



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

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

我发现这不是线程安全的,我得到错误由于值在线程之间混合。我应该如何处理这个,以确保它是线程安全的?

提前感谢!

我找到我的问题了。跨线程混淆的值不是由于企业库数据访问对象,而是我用来存储参数的另一个对象。我意外地使它成为全局的,而不是每个线程中的本地资源。

相关内容

  • 没有找到相关文章

最新更新