Hej! använd throw i catch blocket i din dll. Felet kastas vidare till den anropande klassen som i sin tu ansvarar för att ta hand om felet, visa meddelande etc.. Detta kan du speca i web.config du kan där säga att alla fel skall skicka dig till en felsida. Japp det är globala fel jag är ute efter. Alltså all fel som genereras skall skickas till denna sidan och visa ett meddelande samt att jag skall kunna skicka det till mig via mail Här är ett exempel jag använder: OK... det verka ju bra... Kan jag därifrån öpnna en sida också och presentera felet visuellt I samma funktion lägger du bara till kod som lägger in felkoden i en databas t.ex. Sen hämtar du den från en webbsida bara. Har funderat på det, men jag skulle vilja slippa det momentet. Utan bara visa felet för användaren. Anledningen till det är att användaren skall för möjlighet att skicka med en beskrivning om vad han gjorde när felet inträffades. Då är det bara att skriva ut felmeddelandet direkt till webbsidan för användaren. Den enda felhanteringen du ska ha är själva mailet och i web.config sätta debug=true. Jag bara funderade på om man kan kalla på en klass inne i globelasa. Jag är fortfarande van i från vanlig asp att man inte kan göra vissa saker i global asa. Nej, global.asax hanterar ju just de globala händelserna i en root, och där kan du ha oändligt många klasser. Det bästa är då att arbeta från just den klassen du vill ha en händelse. OK följetången går vidare.. Globalasax fångar upp detta fel oxå, det får du med i Last Error. Ok... Jag får jobba vidare så får vi se vad jag kommer fram till..Error hantering från en dll mm
Jag håller på att strukturera upp errorhanteringen på min hemsida. Min tanke är att jag skall ha en sidan som visar alla felen och sedan kan man skicka ett mail till mig om felet.
Jag har olika DLL som hanterar olika logiker på sidan. När dessa genererar ett fel så ex i mina try catch dela så skulle jag vilja få in felet typ Exception fel. och skicka det till min error sida. Hur kan jag öppna en sida från en DLL, eller har någon ett bättre förslag på hur jag skall lösa detta?
/TyronneSv: Error hantering från en dll mm
Sv: Error hantering från en dll mm
Men då kan du inte plocka det fel som uppstod om jag minns rätt. Utan detta kan du hantera i Globa.asax får error eventet som utlöser sig och spara ner felet du får i en session eller liknande och se till så felet mailas. Det finns flera lösningar, du kan redan på enskild sida hantera fel, du kan hantera dem globalt i global.asax och även visa en generellfelsida genom att säga detta i web.config.
Men antar att det är globala fel du är ute efter? då föredrar jag global.asax
Mvh JohanSv:Error hantering från en dll mm
Några exempel att ge på hur jag skall göra?
/TyronneSv: Error hantering från en dll mm
<code>
void Application_Error(Object sender, EventArgs e)
{
string mess= "Error in Path :"+Request.Path ;
mess+="\n\n Error Raw Url :"+Request.RawUrl ;
Exception myError = Server.GetLastError();
mess+="\n\n Error Message :"+myError.Message;
mess+="\n\n Error Source :"+myError.Source;
mess+="\n\n Error Stack Trace :"+myError.StackTrace;
mess+="\n\n Error TargetSite :"+myError.TargetSite;
System.Web.Mail.MailMessage errorMessage = new System.Web.Mail.MailMessage();
SmtpMail.SmtpServer = "Smtpservernamnet";
errorMessage.To = "Mail@till.mig;
errorMessage.From = "fel@min.server";
errorMessage.Subject = "Ett fel på en sida har registrerats";
errorMessage.Body = mess;
System.Web.Mail.SmtpMail.Send(errorMessage);
}
</code>Sv:Error hantering från en dll mm
/TyronneSv: Error hantering från en dll mm
Sv:Error hantering från en dll mm
/TyronneSv: Error hantering från en dll mm
Sv:Error hantering från en dll mm
/tyronneSv: Error hantering från en dll mm
Sv:Error hantering från en dll mm
Nu har jag fixat global asax så att den hanterar globala fel och styr detta till en sida. Nu undrar jag bara kort att om det blir tex ett databas kopplings fel motsv i en DLL, detta fångar inte global asa Upp utan jag måste då ha en annan felhantering där?
/TyronneSv: Error hantering från en dll mm
Dock kan det hända att fel är nestlade i en Exception och du måste loopa genom dessa för att spara ner hela felmedelandet. Om du sjäkl väljer att kasta ett fel är det att föredra att du kan lägga till innerException till dina enga Exception klasser så du kan följa vart feler ursprungligen kom från.
Mvh JohanSv:Error hantering från en dll mm
Tack så länge grabbar!
/tyronne