All implementation of IHttpModule I've seen looks following:
class HttpCompressionModule : IHttpModule { public void Init(HttpApplication application) { application.SomeEvent += OnSomeEvent; } private void OnSomeEvent(Object source, EventArgs e) { // ... } public void Dispose() { // nothing here !!! } }
I am wondering why is the Dispose
method always empty? Shouldn't we unsubscribe the event which we subscribe in the Init
method?
The lifecycle of an HttpModule is tightly integrated with the lifecycle of an HttpApplication. Instances of HttpModule are generated when the application is started and destroyed when the application is disposed of.
In this case there is no point in unsubscribing from the event because the publisher (HttpApplication) is being disposed of anyway. Of course, in a situation where the publisher wasn't being disposed of, unhooking the event handler would be the right thing to do.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With