C# 在多线程中维护connectioncache id
这是我的场景: C#winapp前端和cobol作为后端。我们过去常常逐行检查表(例如:m1)中名为“status”的列中的条目“2”,如果找到,则执行一些任务 使用多线程,自动用户将登录并检查表(m1)中的条目2,也就是说,自动用户将在第一次登录3秒后再次登录并执行相同的检查。(如果找到条目,它将执行一些操作。)用户登录和检查将使用多线程每隔3秒执行一次,并重复执行场景,直到应用程序结束 问题来了 一旦用户登录,将为该用户生成一个id并存储在会话缓存中。如上所述,如果在表中找到条目2,则它将通过检索存储在缓存中的id来执行另一项任务。因为多用户日志记录之间的时间间隔为3秒。每个日志的id将存储在缓存中。上一个用户id将替换为下一个用户的id。这会导致检索错误的id 如何避免这个问题?请建议存储id的任何解决方案或替代方法C# 在多线程中维护connectioncache id,c#,multithreading,C#,Multithreading,这是我的场景: C#winapp前端和cobol作为后端。我们过去常常逐行检查表(例如:m1)中名为“status”的列中的条目“2”,如果找到,则执行一些任务 使用多线程,自动用户将登录并检查表(m1)中的条目2,也就是说,自动用户将在第一次登录3秒后再次登录并执行相同的检查。(如果找到条目,它将执行一些操作。)用户登录和检查将使用多线程每隔3秒执行一次,并重复执行场景,直到应用程序结束 问题来了 一旦用户登录,将为该用户生成一个id并存储在会话缓存中。如上所述,如果在表中找到条目2,则它将通
namespace connection
{
public class helper
{
public static void SetConnId(int id)
{
try
{
User backend = ConnectionCache.Backend;
backend.ConnectionId = id;
}
catch { }
}
public static int GetConnId()
{
try
{
return ConnectionCache.Backend.ConnectionId;
}
catch { }
return 0;
}
}
}
你的问题很难理解,但如果有一个问题,它与我们不知道的连接缓存如何工作有关;我没有……的代码,谢谢你的回复@rene。如果您100%确定/保证一个用户的所有内容都在您可以使用的同一个线程上,那么您可以建议我一些方法来使用多线程概念存储多个登录的会话/连接id吗。