Per risolvere un problema con l'invio di e-mail tramite un server smtp in cui le e-mail non vengono inviate, ho consigliato di abilitare la registrazione usando System.Diagnosis .TextWriterTraceListener per tracciare la comunicazione con smtp-server per tracciare eventuali errori. Ho aggiunto il seguente al mio web.config sotto il nodo:Problema con System.Diagnosis.TextWriterTraceListener che non scrive alcun log sul filesystem
<system.diagnostics>
<trace autoflush="true" />
<sources>
<source name="System.Net" >
<listeners>
<add name="MyTraceFile"/>
</listeners>
</source>
<source name="System.Net.Sockets">
<listeners>
<add name="MyTraceFile"/>
</listeners>
</source>
</sources>
<sharedListeners>
<add
name="MyTraceFile"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="System.Net.trace.log" />
</sharedListeners>
<switches>
<add name="System.Net" value="Verbose" />
<add name="System.Net.Sockets" value="Verbose" />
</switches>
</system.diagnostics>
ho provato sulla mia macchina di sviluppo e ha funzionato bene! Ho potuto facilmente leggere la comunicazione completa con il server smtp. Tuttavia, nell'ambiente di produzione (eseguito su IIS 6 in Windows 2003 Server), non funziona affatto. Nessun log viene scritto sul filesystem. Il mio primo pensiero è stato che forse l'account del processo di lavoro ASP.NET (NETWORK SERVICE) non aveva diritti sufficienti per scrivere sul filesystem nel percorso specificato. Ho riparato quello, ma ancora non ottengo il registro. In secondo luogo, ho pensato che forse la cartella era impostata su "sola lettura" e ha risolto anche quello. Ma continuo a non scrivere nessun log.
Qualcuno ha un'idea di quale potrebbe essere il problema? O forse qualche consiglio su come potrei risolvere questo problema? Grazie in anticipo!
Sì, è lo stesso sia nello sviluppo che nella produzione. Ho anche verificato abilitando la traccia sulla stessa identica versione ma in un diverso ambiente di produzione, e lì ha funzionato bene. Grazie per il suggerimento! –