天天看點

建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(12)-系統日志和異常的處理②

上一講我們做了日志與異常的結果顯示清單,這一節我們講要把他應用系統中來。

首先我們在App.Common類庫中建立一個通用類ResultHelper,這個類裡面寫了,擷取一個GUID,擷取目前時間,處理字元串等操作,雖然我們目前要用到的一個就是擷取GUID但是以後我們可能還要用到别的,是以我都把他放進入了

然後在App.Admin建立一個核心檔案夾,Core,放入LogHandler這個類是主要是寫入日志,避免在每次都要執行個體化這個類,我把他封裝起來,大家一看就知道。

然後修改Controller的Create方法,代碼如下一一給出。

建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(12)-系統日志和異常的處理②
建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(12)-系統日志和異常的處理②

ResultHelper

建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(12)-系統日志和異常的處理②
建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(12)-系統日志和異常的處理②

LogHandler

建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(12)-系統日志和異常的處理②
建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(12)-系統日志和異常的處理②

SysSampleController

同時App.Common要引用程式集System.Web

運作添加一條記錄,然後打開我們的日志子產品,OK,日志記錄完成了,有點簡單。

接下來是異常,上一講說到,異常我們放在BLL中處理,然後我們把錯誤或者異常資訊傳回到Controller中被日志記錄,當然異常他是在BLL層被記錄的。

我們需要一個異常的集合類,來記錄BLL層和DAL層,有時候DAL也要處理異常,是以我們也要用到ref 引用傳遞,貌似ref我們很喜歡,呵呵

見代碼,在App.Common建立一個異常集合類

建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(12)-系統日志和異常的處理②
建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(12)-系統日志和異常的處理②

ValidationErrorHelper.cs

我們也要建立一個封裝好的異常寫入,類似與Log的LogHandler封裝但我們放在BLL中,因為我們以後的其他項目的BLL要引用,這一步要考慮到。

在BLL中建立檔案夾Core,寫入以下類,BLL引用程式集System.Web裡面用到了http的一些方法

建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(12)-系統日志和異常的處理②
建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(12)-系統日志和異常的處理②

ExceptionHander

此異常當處理也異常時候,将在網站根目錄下寫入一個txt檔案。

建立一個全局變量

我們要用引用傳遞,是以要修改IBLL和BLL的Create方法,如下

ISysSampleBLL  :  bool Create(ref ValidationErrors errors, SysSampleModel model);

SysSampleBLL   :

修改Controller

 注意:ExceptionHander.WriteException(ex);這裡是寫入異常資訊

OK,你現在可以建立一條新的記錄和插入一個ID大于50個字元的記錄,讓他記錄日志和異常了。

建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(12)-系統日志和異常的處理②

顯然我們的失敗錯誤提示已經不符合國情了。我們傳回的json格式是0和1我們要傳回多個值了,比如1和成功建立,0和失敗了啊,這樣的2個值怎麼辦?

controller能把datagrid傳過來的東西用類來接受,那麼反過來想,js也能把controller發出去的值分解,建立一個序列化的類

在App.Common類庫中建立JsonHandler幫助類,裡面有2個重載,一個是傳回3個值一個是2個值的。

是以當我們要傳回訂單的數量和總價格的時候,我們将用到類似的手段

建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(12)-系統日志和異常的處理②
建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(12)-系統日志和異常的處理②

JsonHandler

再次修改Controller的Create

修改SysSample的Create的JS部分

建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(12)-系統日志和異常的處理②

由于時間關系,這一講就先到這裡吧!這一講其實比較倉促。不懂的留言

你需要繼續做的就是在删除,編輯等操作也加入這些的。這點留給大家自己表現吧....

下一講是全局異常的捕獲。

繼續閱讀