欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

Asp.net Web Api開發(fā)(第三篇)自定義異常過濾器 - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開發(fā)/軟件開發(fā)

知識

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!

您當(dāng)前位置>首頁 » 新聞資訊 » 網(wǎng)站建設(shè) >

Asp.net Web Api開發(fā)(第三篇)自定義異常過濾器

發(fā)表時間:2016-6-17

發(fā)布人:葵宇科技

瀏覽次數(shù):55

如果不自定義異常過濾器,客戶端調(diào)用API出現(xiàn)錯誤時,將只能得到一個500之類的錯誤狀態(tài),以及一句:出現(xiàn)錯誤。而服務(wù)端卻無法攔截到任何異常代碼,當(dāng)然你也可以在所有Action里面寫try-catch來捕獲處理。但這不是我想要的,我們可以自定義一個異常過濾器來捕獲單個Action或整個Controller里面的所有Action的異常。

上代碼:

using System.Net;
using System.Net.Http;
using System.Web.Http.Filters;
using RRP.Models.Response;

namespace RRPService.WebApi.Comm
{
    /// <summary>
    /// 異常處理過濾器
    /// </summary>
    public class DExceptionFilterAttribute : ExceptionFilterAttribute
    {
        public override void>

using System.Linq;
using System.Web.Http;

namespace RRPService.WebApi.App.Controllers
{
    [DExceptionFilter]
    public class CompanyController : ApiController
    {
        [HttpPost]
        [Route("api/1110")]
        public RRP.Company.Models.Response.C3000O Login(RRP.Company.Models.Request.C3000I aIn)
        {
            return RRP.Company.BLL.C3000(aIn);
        }

        [DExceptionFilter]
        [HttpPost]
        [Route("api/1110")]
        public RRP.Company.Models.Response.C3001O Login2(RRP.Company.Models.Request.C3001I aIn)
        {
            return RRP.Company.BLL.C3001(aIn);
        }
    }
}
最后,在Global.asax中注冊我們得自定義異常過濾器:

using RRPService.WebApi.Comm;
using System.Web.Http;
using System.Web.Mvc;

namespace RRPService.WebApi.App
{
    /// <summary>
    /// web api 服務(wù)
    /// </summary>
    public class WebApiApplication : System.Web.HttpApplication
    {
        /// <summary>
        /// 服務(wù)啟動
        /// </summary>
        protected void Application_Start()
        {
            GlobalConfiguration.Configure(WebApiConfig.Register);
            GlobalConfiguration.Configuration.Filters.Add(new DExceptionFilterAttribute());//<<<<------------------重點
            //Json序列化庫替換
            HttpConfiguration fConfig = GlobalConfiguration.Configuration;
            fConfig.Formatters.Remove(fConfig.Formatters.JsonFormatter);
            fConfig.Formatters.Remove(fConfig.Formatters.XmlFormatter);
            fConfig.Formatters.Insert(0, new JilFormatter());
        }
    }
}

相關(guān)案例查看更多