在网络应用中使用SubSonic v2.3。每个客户端(200+)都有自己的数据库。当我们为数据库调用创建存储库时,我们一直在为客户端添加连接字符串。我们现在看到的是客户A可以在与客户B大致同时发出请求。客户A可以获得客户B的数据。当每个客户端请求同一页面时,似乎会发生这种情况。我知道SubSonic是为单个数据库构建的,但我读过几篇关于在默认提供程序中切换连接字符串以获得多数据库支持的帖子。任何有关我可能需要检查的内容的见解都会有所帮助。
答案 0 :(得分:2)
正如您所看到的,这一切都解决了线程问题。使用2.2(当前版本),您可以使用SharedDbConnectionScope包装您的调用。这将重置连接字符串:
using(new SharedDbConnectionScope("my connection string")){
//.. do your thing here
}
这将以线程安全的方式隔离调用并更改连接字符串。我需要更新我们的文档...