S
Stephen Brown
I have been running an aspnet application for over a year now and have been
updating without problems. This morning, a client sent me an error message
that he received at the exact moment when I made an update. The error was
that one of the assembly files (one that I was updating) was in use by
another process. The update only took a second where all I did was
overwrite the bin directory dlls (the aspx pages and code behind never
changes in my app, only the assemblies that they call) with the staging
server version. I have made my updates the same way several times a month
on a couple of servers without problem. I also have an IE page that I run
immediately after the files are overwritten that loads the aspx pages in my
app to ensure that the app caches right away and the client doesn't see the
couple of seconds wait time after the app is changed.
Am I missing something in my update process to ensure this never affects
clients? I have a method of locking clients out if I need to make database
changes, but if it just calls for a quick overwrite of the bin files I
usually do it live and always assumed that dotNet handles the clients
gracefully on an update. I was understanding that with dotNet I could just
overwrite the files live and not have to worry about the clients or
currently processing requests being affected.
updating without problems. This morning, a client sent me an error message
that he received at the exact moment when I made an update. The error was
that one of the assembly files (one that I was updating) was in use by
another process. The update only took a second where all I did was
overwrite the bin directory dlls (the aspx pages and code behind never
changes in my app, only the assemblies that they call) with the staging
server version. I have made my updates the same way several times a month
on a couple of servers without problem. I also have an IE page that I run
immediately after the files are overwritten that loads the aspx pages in my
app to ensure that the app caches right away and the client doesn't see the
couple of seconds wait time after the app is changed.
Am I missing something in my update process to ensure this never affects
clients? I have a method of locking clients out if I need to make database
changes, but if it just calls for a quick overwrite of the bin files I
usually do it live and always assumed that dotNet handles the clients
gracefully on an update. I was understanding that with dotNet I could just
overwrite the files live and not have to worry about the clients or
currently processing requests being affected.