I have a standard DotNetNuke installation that I am developing some modules for.
Every time I update one of my modules, it updates that module’s DLL in the DotNetNuke installation’s bin folder.
Despite the fact that I am not touching the main DotNetNuke DLL, it seems that IIS is either reprocessing every DLL in the folder, or doing some other majorly time consuming task because it is taking at least 10 seconds to load any page after I recompile the single module’s DLL.
For comparison, if this module were running outside of DotNetNuke, it would load in under a second.
Is there some way to get around this delay?
Whenever you change a .dll in the bin folder ASP.Net will restart the application. Application startup does not necessarily mean anything gets recompiled, though some of the modules may get recompiled, but probably not until they are used. A bunch of the time goes into inspecting/loading all of the assemblies in the bin folder, and executing all the application startup code. Removing any unneeded modules will help reduce the start up time, as those assemblies will no longer need to be loaded.
Mitchell Sellers has a great document titled DotNetNuke Performance Configuration Best Practices download here several of the recommendations will help reduce startup time, and it is a generally a good reference on how to effectively deploy a DNN site.