代码改变世界

mvc wcf 并发提示,存储Application,验证是否有用户在操作

2015-09-17 09:58  悠悠鑫宝  阅读(127)  评论(0编辑  收藏  举报

System.Web.HttpContext httpContext = System.Web.HttpContext.Current;
Hashtable departmentSalary = (Hashtable)httpContext.Application["DepartmentSalary"];
try
{
if (departmentSalary != null && departmentSalary.ContainsValue(KEYID))
{
throw ServiceException.NewException(MethodBase.GetCurrentMethod().Name + ":该XXXX已有人操作");
}
departmentSalary = new Hashtable();
departmentSalary[httpContext.Session.SessionID] = KEYID; //初始化当前用户的 sessionid
httpContext.Application.Lock();
httpContext.Application["DepartmentSalary"] = departmentSalary;
httpContext.Application.UnLock();
调用wcf接口
}
catch (Exception)
{

throw;
}
finally
{
departmentSalary.Remove(httpContext.Session.SessionID);
httpContext.Application.Lock();
httpContext.Application["DepartmentSalary"] = departmentSalary;
httpContext.Application.UnLock();
}