Ho appena dato un'occhiata alla documentazione per TextWriterTraceListener e c'è una nota circa 1/3 del modo in basso nella pagina
Se viene effettuato un tentativo di scrivere su un file che è in uso o non disponibile, il nome del file è automaticamente preceduto da un GUID
Quindi, questo sembra essere di progettazione. Se il file è effettivamente non disponibile, non c'è nulla che possa essere fatto al riguardo con l'implementazione corrente. Quello che potresti provare a fare è scrivere un'implementazione personalizzata di TextWriterTraceListener che sovrascrive i metodi Write/WriteLine rilevanti in modo che l'output vada a un file, per utente, con un nome che meglio si adatta alle tue esigenze.
Se ciò che si desidera è per TUTTO la registrazione da TUTTI gli utenti sul Terminal Server per andare a un singolo file, allora sarà quasi certamente necessario avere una sorta di processo di "terze parti" in esecuzione che "possiede" il file e sincronizza le scritture su di esso, come un servizio di Windows che viene chiamato dal tuo Custom TextWriterTraceListener
Questo non spiega la situazione in cui mi trovo, con un singolo pool di applicazioni, eseguendo un singolo processo di lavoro, scrivendo su un file specificato nome e * ancora * spamming più file di log duplicati con nome guid. Non ci possono essere altri processi che tentano di accedere a quel file perché solo uno è configurato per usarlo. –
@ TomW - Sono nella stessa situazione. Penso che le richieste parallele elaborate da IIS siano da biasimare. Forse se c'è un file di log per-thread si comporterebbe meglio. –