I think that one of the good conditions for this is that it allows someone to write a third-party assembly or a team that works on the assembly that will be used in many projects to be able to use this attribute to initialize the material without the need so that the end user / developer creates something in global.asax in application launch events.
There are many applications in the global.asax application that need to be configured / need to be configured, but if you create a DLL you no longer need to configure users for your classes in global.asax, you can just put all your logic in your own init / bootstrap function and rely on asp.net to invoke the initialization logic when the application starts.
source share