0

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

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

在视图中:

<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 更新除外)。

4

1 回答 1

0

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

于 2016-07-18T14:25:11.460 回答