1

I am using ASP.NET as the backend for windows phone browser. Sometime I need to make changes on the ASP.NET Pages WHILE users are surfing the website. I want to know how can I provide un-interrupted service to user in such a way they can surf during ASP.NET DLL uploading process:

Assume

  1. say, there are a few ASP.NET (DLL) in production WebServer in such a way that all aspx pages in the one Folder and all DLL(s) in bin-folder.

  2. page(1).aspx , page(1.2).aspx , page(1.n).aspx from DLL(1) and page(2.1).aspx, page(2.2) from DLL(2)

  3. default.aspx from DLL(1)

Question

What will happen if I upload the updated DLL(2) to the production server and leave DLL(1) as it is :

  1. Can user call the deafult.aspx?

  2. Will user still be able to call aspx pages from DLL(1) during the uploading process?

Jesse
  • 8,223
  • 6
  • 49
  • 81
MilkBottle
  • 4,242
  • 13
  • 64
  • 146
  • I'm not sure that the Phone part of the equation has any bearing on this. The Phone is a client like any other. This sounds like a purely server-side question. – ctacke Sep 24 '11 at 16:59
  • Thank. Agreed with you. I need to get Asp.net to identify 1) PC user 2) Mobile user, then redirect all mobile user to webpages of Html5 mix with Aspnet DLL. This is the second part if the above uploading process has no impact on surfing. – MilkBottle Sep 25 '11 at 02:02
  • Possible duplication http://stackoverflow.com/questions/2726491/safe-deployment-of-asp-net-applications and http://stackoverflow.com/questions/5618478/deploy-asp-net-web-site-and-update-mssql-database-with-zero-downtime – Raghu Oct 02 '11 at 20:42

4 Answers4

1

The answer to both the questions is YES

Raghu
  • 2,678
  • 2
  • 31
  • 38
Chief
  • 914
  • 1
  • 9
  • 26
  • How to prove? Let say you Upload DLL(2) at Time say t1 at 1:00 PM and it takes 1 min for the process. Let say there are 1000 user surf at Time during the 1 min process. What I need to do on the server side? please explain. – MilkBottle Sep 27 '11 at 11:53
  • Do you have an architect to prove the process? – MilkBottle Sep 27 '11 at 11:56
1

I am a big fan of Martin Fowler's Blue Green Deployment methodology (link).

The idea is simple, have two very similar environments setup (staging & production). You make changes to your code, deploy it on staging, do your testing and then swap staging with production via a simple router configuration.

enter image description here

It has worked great for us so far.

Raghu
  • 2,678
  • 2
  • 31
  • 38
  • This sound a feasible solution. Do you mean change the IPAddress in Webservers that are in staging and production Server such that when ready then change back the WebServer IPAddr in production. However, in my case, I have no control over WebHosting Company. They may think this will affect other customers. Anyway, your solution should be recommended to use for my future own servers. – MilkBottle Oct 02 '11 at 14:20
  • I've used powershell bits from this article here http://davidduffett.net/post/4833657659/blue-green-deployment-to-iis-with-powershell. Dont know what your actual VPS setup is, but in order to pull this off you'll need RPC / RPC locator services ruuning on the web server, since the PS script utilizes WMI to make the change. – Raghu Oct 02 '11 at 20:41
0

You need Microsoft Web Deployment Tool. Please find more details on below link

How to deploy an ASP.NET Application with zero downtime

Community
  • 1
  • 1
alok_dida
  • 1,723
  • 2
  • 17
  • 36
  • Using 2 servers by Sklivvz's suggestion. But how it will work For my case, my website is hosting by web Hosting service company. The conventional way is to expect user to see the Http Code like 404 for sometimes when you upload the updated DLL. How to do it if I want to provide un-interrupted service if I make changes very often? – MilkBottle Sep 30 '11 at 07:21
  • What about the George Tsiokos answer? Is it not work for you by using Microsoft Web Deployment Tool? – alok_dida Sep 30 '11 at 11:25
0

Are you hosting within a clustered server environment? If your not, I would be more concerned about a single point of failure rather than interrupting clients briefly during a release.

That said, the update process in such an environment is much better if your fearful of disturbing your users.

Jesse
  • 8,223
  • 6
  • 49
  • 81
  • website host by web hosting service company. My case is this. I need a method whereby I can make changes as often as possible when it is required. This web hosting service company's servers are in a DATA CENTER. – MilkBottle Sep 30 '11 at 07:24