One of our applications has a mechanism for emailing our Helpdesk automatically should it encounter a certain level of exception. One particular exception, a NullReferenceException, is causing a few problem and I believe it is caused by IIS recycling and losing the session. To prove this I want to log when the application is started/stoped/recycled and have added some code to the global.asax file to do this. Running on Debug mode the log messages are written out and all seems well. The problem comes when I switch to Release build, which triggers a Web Deployment Project to build to a folder configured in IIS.
When I navigate to the application the ApplicationStart method is not being called as the log file is not created and the Event Log is not updated. When I restart IIS the same happens for ApplicationEnd, i.e. not logs are created.
Why is it working for Debug builds but not Release ones? I've been kicking this around for hours now and it's driving me nuts.
Thanks in advance
**[Edit]: I'm not 100% sure what is going on but it now appears to be working. I thought that maybe the assembly we use for logging might not be loaded by the time ApplicationStart is executed so I removed all the code and just created a text file in the method instead. Behold, the file was created! So I added an if(logger != null) type checking to try to output some diagnostics but nothing was written out. So I tried a try/catch and wrote a blank file "exception.txt" if an exception was thrown but still no file was created - although the event log and expected log file were generated! I'm confused! **