Now I've always been a bit of a fan of XML......
I've written books on it...Spoken @ Universities and other tech tiki tours around it......hell.... I've even got the number plate....
But there are some things that just should not be dne with XML..... one of these things is using it for writing bloody log files....
Nick (Kognition Senior Dev type guy) and I sat down this afternoon with one goal in mind..... find out why the %$^&$ our elegant and superbly architected Web Services layer was causing the ASPNET_WP process to consumer hundereds of megabytes of memory on most of the development team PCs.
The culprit was WSE. Some developer, somewhere in the evil empire, had decided that it would be a good idea to have the WSE implementation of WS-Security write to an XML log file every time something happens- this is great for debugging thought we, so it was duly turned on. Of course this developer didn't do it the elegant way as suggested by Dare, oh no... they commited the ultimate sin.... loading the whole bloody log file into a DOM (read in memory tree structure) simply to append a line... and doing it on each request of course.
The result is performance on par with a G.W. Bush press conference and a MASSIVE memory footprint. So, Mr Evil Empire dev..... do the nice thing and change the way logging works...
OK... so to recap for Google searchers who need to know about this problem in the future.
WSE has an XML based logging function. It causes the ASP.NET worker process to consume large amounts of memory. This also causes the Web Service request to be extremely slow. So.. don't enable logging.....