我需要在我的asp.net项目使用类在ASP.NET网站
public class ExpressionsEvaluator
{
public Stack<ExpressionParameter> expressionParameters = new Stack<ExpressionParameter>();
public object EvaluateExpression()
{
// calculate expression patamers
expressionParameters.Push(parameter);
// Do some functions
// remove the last parameters
expressionParameters.Pop();
}
}
内创建堆栈集合上使用堆栈集合是这种方法的线程安全吗?
对于访问该网站的每个用户,expressionParameters对象是否会有所不同?
使用案例:
public ActionResult EvaluateExpression(string expression)
{
try
{
ExpressionsEvaluator expressionEvaluator = new ExpressionsEvaluator();
object result = expressionEvaluator.EvaluateExpression(expression);
return Json(result, JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
return Json(new { hasError = true }, JsonRequestBehavior.AllowGet);
}
}
是的,我使用.NET 4.0。我不需要允许多个用户编辑同一个列表,我只需要确保他们将得到他们自己的列表进行编辑,并且不会影响其他列表(但我认为这是默认行为,对不对?) – Catalin
使用新的并发集合传达了从多个线程访问实例的情况,这是误导性的,因为这不是OP正在做的事情。我的建议是:不要将并发集合用于不需要线程安全的代码。 – Steven