Hot deployment of .net assemblies -


We have an application running on a production server as a Windows service. The application is mainly divided into several assemblies on the borders of deployment. I want to streamline the deployment of hot-fix for application assemblies. Currently I follow the steps to apply a hot fix.

  • Stop the service
  • Stop the service
  • Restart the service
  • Roll back in case of unexpected load errors (it has not happened so far)
  • I think what I want is to do a predefined folder One is to upload SDL and the application has to choose the new DLL.

    One I agree that the solution is a separate service running on the server. Let's call it a hotfix deployment service. It will look at the file system for new files and take 2-6 steps from the list above.

    Any insights is appreciated, I am also open for other options, as long as they reduce friction of deployment.

    Service may be your best option after separation.

    You may, in the same service, do this "move" which will require the service to update itself, though implementation is a bit difficult.

    What do you have to do is start your service, but the Shell service very lightly can then start a separate, separate appodema, and this appman can load the assemblies of your service, and get started And can run.

    Later, when you wanted to update (which could trigger any event up, including a copy of new assemblies [via FileSystemWatcher], it was clearly telling it through networking Is, etc.)), it will need to tell the type of internal appdomain to stop it, then unload AppDomain . At this time, this step 3 & amp; 4 After this, it will only need to reload the appdomain, it will have to restart the initialization etc.

    Since this service will be in a separate app dotman, it can all be in an executable, without stopping service. When an appdomain is shipped, then the assemblies that are loaded are also removed.

    There is only one requirement that it is difficult to make any one of the main app dotmen in you, or you will load the assemblies in your main appdomain. This will prevent you from being able to update to runtime.


    Comments

    Popular posts from this blog

    MVP, design question -

    excel - Populate list via a bi-Condition -

    iphone - How do I make a UIPickerView in a UIActionSheet -