1

我可以用单一方法处理整个页面或整个控制器的异常。

这是我的代码

    public ActionResult BindProductDetails(string StartIndex, string EndIndex, string HeaderName, string SortBy, string Search, string OrderstoDisplay)
    {
        List<Products> objProduct = new List<Products>();

        try
        {
            objProduct = objProductsModel.GetProductsList(Convert.ToInt32(Session["MerchantID"]), Convert.ToInt32(StartIndex), Convert.ToInt32(EndIndex), HeaderName.Trim(), SortBy, Search, Convert.ToInt32(Session["userID"]), Convert.ToInt32(OrderstoDisplay), Session["ConnectionString"].ToString());
            ViewData["ProductCount"] = ProductsModel.ProductCount;
            ViewData["OrdersToDisplay"] = ProductsModel.OrdersToDisplay;
            CurrentProductCount = ProductsModel.CurrentCount;
            return PartialView("PVProducts", objProduct);
        }
        catch (Exception ex)
        {
           Logger.WriteToLog(objUserDetails.ErrorType, objUserDetails.MerchantName, objUserDetails.UserName, "ProductsController.BindProductDetails()", ex.Message, null, objProduct);
            return null;
        }
    }

    #region GetWarehouseDetails
    public string GetWarehouseDetails()
    {
        string strMerchantWarehouses = string.Empty;
        ProductDetails objUsersWarehouse = new ProductDetails();
        try
        {
            objUsersWarehouse = objProductsModel.GetWarehouseInfo(Convert.ToInt32(Session["MerchantID"]), Session["ConnectionString"].ToString());
            strMerchantWarehouses = json.toJshon(objUsersWarehouse);
        }
        catch (Exception ex)
        {
           Logger.WriteToLog(objUserDetails.ErrorType, objUserDetails.MerchantName, objUserDetails.UserName, "ProductsController.GetWarehouseDetails()", ex.Message, null, objUsersWarehouse);
        }
        return strMerchantWarehouses;
    }
    #endregion

每次我在每种方法中处理异常。我需要替代方法,

单个方法处理单个控制器或整个应用程序异常,例如(Actionfilter)for(会话处理)

4

1 回答 1

0

您应该覆盖 Global.asax.cs 中的 Applicaion_Error 将您的代码放在此方法中

于 2012-11-11T21:13:51.320 回答