2016-07-18 34 views
1

我們將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更新)非常感謝。

+0

請問你爲什麼猶豫要把你的程序集更新到最新版本?此更新是免費的,它爲幾個已報告的錯誤以及一些新功能實現了修復。 – Alex

+0

我們猶豫,因爲它可以從您的網站上讀取升級是不是免費的?我們是否在誤讀? 您能否提供升級的具體細節和程序? – Gezilein

+1

對同一主要版本的任何次要更新都是免費的。你有版本4.1.2.6。當前版本是4.3.0.2。使用[我們的下載程序](http://codeeffects.com/Doc/Business-Rule-Engine-Downloader)和您的產品密鑰來獲取並安裝最新版本。它對你來說是免費的。 – Alex

回答

0

您的HTML和MVC操作簽名沒有問題。由於問題的性質,其描述非常廣泛。我從來沒有聽說過這樣的事情。有CodeEffects的安裝在那裏可以處理成千上萬的規則而沒有問題。我們需要更多的細節來幫助你。顯然,任何日誌,堆棧或異常信息都會有所幫助。

+0

同意,但除了在行動處理中由於缺少對象而導致的異常之外沒有任何異常 - 模型只是空的。 – Gezilein

+1

您的項目中是否有任何方式來調試可能導致問題的區域? – Lacash

+0

有一種方法,但由於它是遠程環境,我們還沒有完成。本地錯誤不存在。 – Gezilein