CodeEffects编辑器在MVC

时间:2016-07-18 10:18:47

标签: rule-engine business-rules codeeffects

我们将CodeEffects规则编辑器嵌入到MVC View中。

编辑器在编辑规则时运行良好,但在提交时,编辑器RuleModel对象不会在服务器端的动作控制器中实例化/绑定(Null引用异常)。我们的代码如下:

在视图中:

<div class="clear" style="margin-top: 20px">
    @{
         Html.CodeEffects().RuleEditor()
         .Id("ruleEditor")
         .ShowToolBar(false)
         .Rule(Model.Rule)
         .Mode(RuleType.Evaluation)
         .Render();
    }
</div>

在控制器中:

public ActionResult UpdateRuleSet(CreateRuleSetModel model, RuleModel ruleEditor, RuleModel ruleEditorExceptions, string submit, FormCollection form)
{
    //ruleEditor object is null (not being properly bound from form?)
    //ruleEditorExceptions model is instantiated properly
    ...
}

我们在复制此错误时遇到问题,因为它只发生在某些服务器系统而非其他服务器系统上(某些测试环境以及一个实例中的生产 - 从未在本地发生)。 规则的复杂性在这个问题上没有任何价值(可以是简单的规则)。

奇怪的是,应用程序池回收停止了问题,编辑器再次开始工作(与之前破坏应用程序的规则相同)。 此外,规则可以在一个客户端(浏览器)上破坏应用程序,而其他浏览器可以同时保存相同的规则(同时)。

目前我们怀疑客户端(表单提交)但无法确认(并且池回收解决方案只是增加了神秘感。)

我们使用CodeEffects.Rule.dll版本4.1.2.6。 (在.NET 4.0框架上)。

非常感谢任何指导(CE更新除外)。

1 个答案:

答案 0 :(得分:0)

您的HTML和MVC操作签名很好。由于问题的性质,其描述相当广泛。我从来没有听说过这样的事情。 CodeEffects的安装可以处理数十万条没有问题的规则。我们需要更多细节来帮助您。显然,任何日志,堆栈或异常信息都会有所帮助。