Domanda

Sto utilizzando la funzionalità di errorMail Elmah per inviare una e-mail quando ASP.NET incontra un errore. Esso consente di configurare le impostazioni SMTP, così come a livello di codice un mittente, destinatario e soggetto.

La mia domanda è: Posso utilizzare un soggetto dinamico ? In particolare, vorrei utilizzare la proprietà Exception.Message come il mio soggetto, in modo che io posso dire quello che l'errore è circa appena dalla linea oggetto dell'e-mail.

Non v'è alcuna documentazione, e da una rapida scansione del codice sorgente sembra impossibile senza modificare il codice, ma ho pensato di fare la domanda in ogni modo.

codice sorgente rilevanti:

È stato utile?

Soluzione

Doh! La risposta è in 454 di ErrorMailModule.cs :

string subjectFormat = Mask.EmptyString(this.MailSubjectFormat, "Error ({1}): {0}");
mail.Subject = string.Format(subjectFormat, error.Message, error.Type)
                .Replace('\r', ' ')
                .Replace('\n', ' ');

È possibile utilizzare {0} per il messaggio e {1} per il tipo.

Altri suggerimenti

Ho cambiato l'oggetto del messaggio dal file web.config in questo modo:

<errorMail from="..." subject="Some subject: {0}">

dove {0} sarà il messaggio di eccezione.

È possibile controllare questo articolo per ulteriori informazioni http://weblogs.asp.net/jeffwids/format-the-email-subject-in-the-elmah-error-logging-module

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top