I am developing an ASP.Net HTTP Module used to log requests and
responses. To offload the logging, the module saves the request
information to a queue which is accessed by another thread to actually
perform the logging. The request information is saved into an object
which is then put into the queue and pulled out of the queue by the
second thread. The second thread sets the object to null when it is
done processing it.
Everything is working just fine, but I am experiencing a memory
increase on the aspnet_wp process that does not seem to go down.
Looking further into what is actually occuring, I found out that the GC
only kicks in when ASP.Net kills the asp.net processing working thread.
Only then are the finalizers (only put in for debugging purposes)
called on the objects that end up in the queue.
Is this normal operation? The issue is that under high stress, the
memory goes up to 200mb and it takes it a long time to come back down.