我使用Log4Net登录Azure中的SQL数据库。我已经配置了配置文件并正常工作。日志数据正在写入。该应用程序为每个客户导入,转换和加载一组唯一的数据。在Azure中,我们为每个客户创建一个新数据库。在我的日志记录实用程序中,我有以下方法,应将日志记录连接字符串设置为正确的客户端数据库:
private static void SetDbConnection(string connectionString)
{
var appender = ((AdoNetAppender)(Log.Logger.Repository.GetAppenders()[0]));
appender.ConnectionString = connectionString;
appender.ActivateOptions();
}
这似乎有些工作,但是,我正在为客户端B,客户端C和客户端D以及来回和周围的数据库中获取客户端A的日志。
这个应用程序有一件事是多线程的,我注意到,例如,所有客户端B的数据都在线程20中,所有客户端C的数据都在线程8等中。看起来在数据库中保持一致。
我的主要问题是,我如何确保只有客户A的日志才能到达客户端A的数据库?
我继承了这个应用程序,而且我并不熟悉线程。
更新另外,我在课程中添加了一个对象,方法中的一个锁,这似乎最初起作用,但最后,我仍然得到相同的结果