上一講我們做了日志與異常的結果顯示清單,這一節我們講要把他應用系統中來。
首先我們在App.Common類庫中建立一個通用類ResultHelper,這個類裡面寫了,擷取一個GUID,擷取目前時間,處理字元串等操作,雖然我們目前要用到的一個就是擷取GUID但是以後我們可能還要用到别的,是以我都把他放進入了
然後在App.Admin建立一個核心檔案夾,Core,放入LogHandler這個類是主要是寫入日志,避免在每次都要執行個體化這個類,我把他封裝起來,大家一看就知道。
然後修改Controller的Create方法,代碼如下一一給出。

ResultHelper

LogHandler

SysSampleController
同時App.Common要引用程式集System.Web
運作添加一條記錄,然後打開我們的日志子產品,OK,日志記錄完成了,有點簡單。
接下來是異常,上一講說到,異常我們放在BLL中處理,然後我們把錯誤或者異常資訊傳回到Controller中被日志記錄,當然異常他是在BLL層被記錄的。
我們需要一個異常的集合類,來記錄BLL層和DAL層,有時候DAL也要處理異常,是以我們也要用到ref 引用傳遞,貌似ref我們很喜歡,呵呵
見代碼,在App.Common建立一個異常集合類

ValidationErrorHelper.cs
我們也要建立一個封裝好的異常寫入,類似與Log的LogHandler封裝但我們放在BLL中,因為我們以後的其他項目的BLL要引用,這一步要考慮到。
在BLL中建立檔案夾Core,寫入以下類,BLL引用程式集System.Web裡面用到了http的一些方法

ExceptionHander
此異常當處理也異常時候,将在網站根目錄下寫入一個txt檔案。
建立一個全局變量
我們要用引用傳遞,是以要修改IBLL和BLL的Create方法,如下
ISysSampleBLL : bool Create(ref ValidationErrors errors, SysSampleModel model);
SysSampleBLL :
修改Controller
注意:ExceptionHander.WriteException(ex);這裡是寫入異常資訊
OK,你現在可以建立一條新的記錄和插入一個ID大于50個字元的記錄,讓他記錄日志和異常了。
顯然我們的失敗錯誤提示已經不符合國情了。我們傳回的json格式是0和1我們要傳回多個值了,比如1和成功建立,0和失敗了啊,這樣的2個值怎麼辦?
controller能把datagrid傳過來的東西用類來接受,那麼反過來想,js也能把controller發出去的值分解,建立一個序列化的類
在App.Common類庫中建立JsonHandler幫助類,裡面有2個重載,一個是傳回3個值一個是2個值的。
是以當我們要傳回訂單的數量和總價格的時候,我們将用到類似的手段

JsonHandler
再次修改Controller的Create
修改SysSample的Create的JS部分
由于時間關系,這一講就先到這裡吧!這一講其實比較倉促。不懂的留言
你需要繼續做的就是在删除,編輯等操作也加入這些的。這點留給大家自己表現吧....
下一講是全局異常的捕獲。