Application Pool Recycling and Modified Custom DLLs
I asked for advice on this topic before, but I'd like to understand it a bit better so I can have more fruitful conversations with my hosting company.
Whenever I upload a new DLL -- for example, I just uploaded this really cool GoogleMap usercontrol library that I found on CodePlex -- the DLL doesn't get "recognized". Which leads to web pages that require the DLL to crash and burn. The only solution that I'm told exists for this is to restart the application pool. That apparently forces a "rescan" of the bin directory and causes the new DLL to be recognized.
Is recycling the application pool, in fact, the only solution?
Is the "failure" to recognize a new DLL an Umbraco-related issue, or is it a consequence of ASPNET's design?
BTW, others have previously suggested that I (a) re-upload the bin directory or (b) re-upload the web.config file, because both of those things are supposed to recycle the application pool. I'm trying to avoid doing that because, if in fact the pool is being recycled, I'd be impacting other sites, which isn't really kosher on a shared site. Interestingly, uploading the web.config file >>used<< to have an effect but doesn't anymore (I could tell it had an effect because it blew away the full trust setting that Umbraco needs, and I had to have tech support re-apply that; but I don't have to do that when I change the web.config file anymore).
What server is your site running on? ( I.e. Win 2003 / 2008 IIS 6/7 )
I have sites running on both and on Vista & Win 7 and I've not experienced the problems you are having. I can copy files into the BIN folder and they are immediately usable without having to restart the application pool or touch the web.config I think it must be a configuration issue with your hosting and not an Umbraco issue. Have you tried doing the same thing on a local installation on your PC?
I am having the same issue with multiple custom DLLs in a single Umbraco installation. I have a set of site-specific user controls being referenced as Macros, with the respective DLL in the bin folder. As soon as I try and reference a new Macro (user control) with a second DLL, the page freezes/crashes.
I have Remote Access to the hosting server (IIS 6/Win2003) and I have a separate AppPool dedicated just to the Umbraco environment. However, stopping and restarting the AppPool doesn't help. Every time I try and access the affected page it will crash. Oddly enough in the beginning it was causing enough errors to automatically disable the AppPool, although I raised the error limit in the Web Site properties so it's not doing that now.
In my event viewer while the page was frozen, I recorded scores of .NET Runtime and VsJITDebugger error notices (events 5000 and 4096) and fatal communication warnings (Event 1011). When I finally managed to get back in and remove the Macro from the template, all is well again, and the page loads normally.
I ended up moving that Macro (user control) in with the others (under the first DLL) and of course it works fine.
I was hoping to be able to use more than one custom DLL, but if this is how it's going to behave, I'll have to resort to one Umbraco installation per website. What a pain!!!
Is there something I'm overlooking here? I know enough of Windows Server to get by but I'm at a total loss. Are you not allowed to have more than one DLL referenced at a time?
Well these DLLs are very small in file size and both were compiled using Visual Studio 2008. I recompiled the 2nd one several times just to make sure it wasn't corrupt. Besides which, it only references one small user control so I can't see how it could be overflowing the memory.
From reading all the documentation I could find, my two possible suspects are either 1) permissions issue or 2) configuration issue. I'm leaning towards the latter, but even after reading through all the forums, I'm still not savvy enough with Windows Server to try and troubleshoot the problem.
It could just be that Umbraco doesn't like you referencing more than one DLL at a time (two macro user controls each referencing its own custom DLL), although I see plenty of them in the bin folder so I find that hard to believe. Just wish I were smarter with this server stuff...
Application Pool Recycling and Modified Custom DLLs
I asked for advice on this topic before, but I'd like to understand it a bit better so I can have more fruitful conversations with my hosting company.
Whenever I upload a new DLL -- for example, I just uploaded this really cool GoogleMap usercontrol library that I found on CodePlex -- the DLL doesn't get "recognized". Which leads to web pages that require the DLL to crash and burn. The only solution that I'm told exists for this is to restart the application pool. That apparently forces a "rescan" of the bin directory and causes the new DLL to be recognized.
Is recycling the application pool, in fact, the only solution?
Is the "failure" to recognize a new DLL an Umbraco-related issue, or is it a consequence of ASPNET's design?
BTW, others have previously suggested that I (a) re-upload the bin directory or (b) re-upload the web.config file, because both of those things are supposed to recycle the application pool. I'm trying to avoid doing that because, if in fact the pool is being recycled, I'd be impacting other sites, which isn't really kosher on a shared site. Interestingly, uploading the web.config file >>used<< to have an effect but doesn't anymore (I could tell it had an effect because it blew away the full trust setting that Umbraco needs, and I had to have tech support re-apply that; but I don't have to do that when I change the web.config file anymore).
- Mark
Hi Mark,
What server is your site running on? ( I.e. Win 2003 / 2008 IIS 6/7 )
I have sites running on both and on Vista & Win 7 and I've not experienced the problems you are having. I can copy files into the BIN folder and they are immediately usable without having to restart the application pool or touch the web.config I think it must be a configuration issue with your hosting and not an Umbraco issue. Have you tried doing the same thing on a local installation on your PC?
Cheers,
Chris
Modifiing bin folder (or web.config) cause app restart. It's normal behaviour.
There are some details
http://www.eggheadcafe.com/software/aspnet/30777116/what-file-changes-restar.aspx
I am having the same issue with multiple custom DLLs in a single Umbraco installation. I have a set of site-specific user controls being referenced as Macros, with the respective DLL in the bin folder. As soon as I try and reference a new Macro (user control) with a second DLL, the page freezes/crashes.
I have Remote Access to the hosting server (IIS 6/Win2003) and I have a separate AppPool dedicated just to the Umbraco environment. However, stopping and restarting the AppPool doesn't help. Every time I try and access the affected page it will crash. Oddly enough in the beginning it was causing enough errors to automatically disable the AppPool, although I raised the error limit in the Web Site properties so it's not doing that now.
In my event viewer while the page was frozen, I recorded scores of .NET Runtime and VsJITDebugger error notices (events 5000 and 4096) and fatal communication warnings (Event 1011). When I finally managed to get back in and remove the Macro from the template, all is well again, and the page loads normally.
I ended up moving that Macro (user control) in with the others (under the first DLL) and of course it works fine.
I was hoping to be able to use more than one custom DLL, but if this is how it's going to behave, I'll have to resort to one Umbraco installation per website. What a pain!!!
Is there something I'm overlooking here? I know enough of Windows Server to get by but I'm at a total loss. Are you not allowed to have more than one DLL referenced at a time?
Hi Joey,
Could it be that the DLL consumes a lot of memory? When it consumes more memory than the App_pool can handle it will recycle.
Cheers,
Richard
Hi Richard,
Well these DLLs are very small in file size and both were compiled using Visual Studio 2008. I recompiled the 2nd one several times just to make sure it wasn't corrupt. Besides which, it only references one small user control so I can't see how it could be overflowing the memory.
From reading all the documentation I could find, my two possible suspects are either 1) permissions issue or 2) configuration issue. I'm leaning towards the latter, but even after reading through all the forums, I'm still not savvy enough with Windows Server to try and troubleshoot the problem.
It could just be that Umbraco doesn't like you referencing more than one DLL at a time (two macro user controls each referencing its own custom DLL), although I see plenty of them in the bin folder so I find that hard to believe. Just wish I were smarter with this server stuff...
is working on a reply...