2010-11-18 5 views
0

Dear All, Eigentlich habe ich alles getan, was meine Biz (Business-Schicht) und DAL CRUD Opprations mit statischen methodes und ich meine Fehler senden nur Nachrichten an meine Log-TabelleStatische Methoden für Biz Schicht (ASP.Net)

eine Probe von biz Schicht

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; 
     } 
    } 

so, was soll ich tun, um eine benutzerfreundliche Fehler meiner Benutzer zu propagieren? Dank für immer Kiarash

+0

'var q = db.LogGroupSet.FirstOrDefault (lg => lg.LogGroupID == LogGroupID);' – SLaks

+0

wofür ist das? Es ist nur ein anderer Weg! :) – Kiarash

Antwort

0

Benutzerfreundliche alle im Zusammenhang hängt so von Ihrer biz-Schicht sollten Sie einfach Ihre Ausnahme

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

Dann höher in Ihrem hireachy up wieder werfen, wo man tatsächlich sind Wenn Sie Ihre Delete-Methode aufrufen, sollten Sie wieder eine try-catch-Anweisung haben, aber hier in Ihrem catch sollten Sie die Nachricht extrahieren und sie an den Benutzer ausgeben, entweder als html, als Ajax-Popup oder was auch immer. Wie gesagt, benutzerfreundlich hängt alles vom Kontext ab, über den Sie uns hier nicht viel erzählt haben.