我們將CodeEffects規則編輯器嵌入到MVC視圖中。CodeEffects編輯器MVC中未引用的RuleModel對象
在編輯規則時,編輯器運行良好,但編輯器的RuleModel對象在提交時(Null引用異常)不會在服務器端的操作控制器中實例化/綁定。我們的代碼如下:
在View:
<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更新)非常感謝。
請問你爲什麼猶豫要把你的程序集更新到最新版本?此更新是免費的,它爲幾個已報告的錯誤以及一些新功能實現了修復。 – Alex
我們猶豫,因爲它可以從您的網站上讀取升級是不是免費的?我們是否在誤讀? 您能否提供升級的具體細節和程序? – Gezilein
對同一主要版本的任何次要更新都是免費的。你有版本4.1.2.6。當前版本是4.3.0.2。使用[我們的下載程序](http://codeeffects.com/Doc/Business-Rule-Engine-Downloader)和您的產品密鑰來獲取並安裝最新版本。它對你來說是免費的。 – Alex