【问题标题】:Static methods for Biz layer (ASP.Net)Biz 层的静态方法 (ASP.Net)
【发布时间】:2011-05-11 18:58:49
【问题描述】:

亲爱的大家, 实际上我已经使用静态方法完成了我所有的 Biz(业务层)和 DAL CRUD Opprations 我只是将我的错误消息发送到我的日志表

商务层示例

public static bool Delete(Guid LogGroupID)
    {
        using (DAL.ChroXEntities db = new ChroX.DAL.ChroXEntities())
        {
            var q = (from lg in db.LogGroupSet
                     where (lg.LogGroupID == LogGroupID)

                     select lg).FirstOrDefault();
            if (q != null)
            {

                try
                {
                    db.DeleteObject(q);

                    db.SaveChanges();
                    return true;
                }
                catch (Exception ex)
                {

                    GeneralClass.LogError(ex);
                }


            }
            return false;
        }
    }

那么我应该怎么做才能将用户友好的错误传播给我的用户? 永远感谢, 基拉什

【问题讨论】:

  • var q = db.LogGroupSet.FirstOrDefault(lg => lg.LogGroupID == LogGroupID);
  • 那是为了什么?这只是另一种方式! :)

标签: c# asp.net data-access-layer


【解决方案1】:

用户友好完全取决于上下文,因此从您的商务层您应该简单地重新抛出您的异常

catch (Exception ex)
{
   GeneralClass.LogError(ex);
   throw;
}

然后在你实际调用 Delete 方法的层次更高的地方,你应该再次有一个 try-catch 语句,但是在你的 catch 中,你应该提取消息并将其写给用户,或者作为 html ,一个ajax弹出窗口或其他什么。正如我所说,用户友好性完全取决于上下文,您在这里没有告诉我们太多。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-02
    相关资源
    最近更新 更多