クラス内で作成されたスタック コレクションを 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();
}
}
このアプローチはスレッドセーフですか?
Web サイトにアクセスするユーザーごとに、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);
}
}