C# 共享经常从ajax调用的相同变量
我正在asp.net中创建一个web应用程序,它有一个批处理过程(在后台执行大约需要2小时)。我已经创建了一个静态类,它有一些静态变量来更新批处理过程的进度。在web浏览器中,通过ajax访问这些变量以显示进度C# 共享经常从ajax调用的相同变量,c#,asp.net,ajax,C#,Asp.net,Ajax,我正在asp.net中创建一个web应用程序,它有一个批处理过程(在后台执行大约需要2小时)。我已经创建了一个静态类,它有一些静态变量来更新批处理过程的进度。在web浏览器中,通过ajax访问这些变量以显示进度 现在的问题是,当调用ajax访问这些静态变量时,浏览器在从服务器获得响应之前不会响应。我认为这是因为同时从ajax和后台批处理访问相同的静态变量。但当后台批处理进程未运行时,一切正常 请帮我解决这个问题,或者让我知道更好的方法 共享部分的位 public static class Exe
现在的问题是,当调用ajax访问这些静态变量时,浏览器在从服务器获得响应之前不会响应。我认为这是因为同时从ajax和后台批处理访问相同的静态变量。但当后台批处理进程未运行时,一切正常 请帮我解决这个问题,或者让我知道更好的方法 共享部分的位
public static class ExecutionStatusLog
{
public static string RunID;
public static string ExecutionStatus;
public static int RunningFlag = 0;
public static DateTime StartTime;
public static DateTime EndTime;
public static int count;
}
您可以使用
锁结构
来同时阻止两个线程的访问
mutual exclusion problem
链接:
注意:您也可以使用监视器、互斥或信号量…显示您的代码?您是否使用锁来序列化访问?您的批处理过程可能会获得这些共享变量的锁,并阻止其他所有人。不,我没有使用锁。我正在添加ajax和批处理都可以访问的代码。“浏览器在得到响应之前不会响应”-您是否使用同步ajax调用?使用异步ajax调用。这是什么意思“浏览器在从服务器获得响应之前不响应”是指?浏览器进程没有响应?