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(session handling) のような単一のメソッド処理単一のコントローラーまたはアプリケーション全体の例外

4

1 に答える 1

0

コードをこのメソッドに配置するときは、Global.asax.cs の Applicaion_Error をオーバーライドする必要があります。

于 2012-11-11T21:13:51.320 に答える