国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

.net中自定義錯誤頁面的實現升級篇

2024-07-10 12:48:47
字體:
來源:轉載
供稿:網友

問題描述:

在上一篇博文 “.net自定義錯誤頁面實現” 中已經介紹了在.net中如何實現自定義錯誤頁面實現(有需要者可以去上一篇博文了解),單純按照上一篇博文那樣設置,能夠實現所有請求的異常自定義跳轉,但是這樣又會產生一個問題:當通過ajax提交請求獲取接口提交請求,如果出現未處理的異常也會被重定向到自定義錯誤頁面。

針對ajax請求或者接口請求,這樣返回一個重定向頁面,用戶體驗顯然不是太友好,針對這個問題,下面簡單總結一下我自己的想法和解決方案,當然不一定科學和合理,所以也希望有大牛多多指點。

解決思路,我想到的有二:

解決方案一:

從物理結構上分割,將web項目嚴格分割成兩個項目(當然可根據需要繼續細分):網站(只有網站頁面資源等內容)、接口(包括網站的所有數據邏輯處理,頁面的數據請求交互都是直接同接口交互(js技術)),只是網站項目按照上一篇博文方式設置自定義錯誤頁面方式,這樣是能夠解決問題,項目也會更加的清晰,也有很多公司的項目就是按照這種方式(尤其是webApp),但是在實際項目中,很多項目是沒有達到這種嚴格區分的,所以下面的解決方案二,將介紹一個更通用的方式

解決方法二:

解決思路是:將上一篇博文.net自定義錯誤頁面實現 與 上上一篇博文 .net捕捉全局未處理異常的3種方式 結合使用,并在實際開發中嚴格約定(出了url地址請求以外的其他請求都通過post請求實現交互),在撲捉到異常時,如果是post請求,處理異常,并清除異常。具體以步驟如下:

第一步:定義一個請求處理結果數據MODEL,代碼如下:

/// <summary> /// 請求結果MRequestResult /// </summary> public class MRequestResult { /// <summary> /// 請求結果編碼(是一個枚舉值) /// </summary> private RequestResultCodeEnum requestResultCode; /// <summary> /// 處理結果具體的返回值 /// </summary> private object resultValue; /// <summary> /// 請求結果編碼(是一個枚舉值) /// </summary> public RequestResultCodeEnum RequestResultCode {  get  {  return this.requestResultCode;  }  set  {  this.requestResultCode = value;  } } /// <summary> /// 處理結果具體的返回值 /// </summary> public object ResultValue {  get  {  return this.resultValue;  }  set  {  this.resultValue = value;  } } } /// <summary> /// 請求結果編碼枚舉值() /// </summary> public enum RequestResultCodeEnum { /// <summary> /// 請求成功 /// </summary> Success = 1, /// <summary> /// 請求失敗 /// </summary> Fail = -1, }

第二步:按照 上一篇博文: .net自定義錯誤頁面實現的步驟,配置好自定義錯誤頁面相關配置操作

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 应城市| 沁阳市| 隆安县| 鄯善县| 富锦市| 靖边县| 浮山县| 武鸣县| 武川县| 中江县| 禹城市| 大兴区| 铁力市| 桂阳县| 巴林左旗| 靖江市| 铁岭县| 清原| 电白县| 赞皇县| 兴城市| 交口县| 山东| 南华县| 宕昌县| 石家庄市| 阿拉善盟| 卢氏县| 绍兴市| 灵川县| 晋江市| 连城县| 资阳市| 崇义县| 普定县| 卓尼县| 吉首市| 蒙阴县| 克拉玛依市| 汕头市| 休宁县|