Custom app_offline.htm file during publish

后端 未结 9 496
遇见更好的自我
遇见更好的自我 2020-12-03 00:58

When I publish my ASP.NET MVC application it generates a app_offline.htm file to take the site offline while it updates the website and then deletes the file once the publis

相关标签:
9条回答
  • 2020-12-03 01:53

    An easy solution that many might find suitable involves simply adding your own file also named "app_offline.htm" to your solution.

    I have tested this method, using Visual Studio 2015, and it does indeed work.

    However, the only drawback is that during the publishing process, the default generated app_offline.htm file is copied first, then the solution files in what appears to be in/near alphabetical order.

    This means that your custom app_offline.htm file quickly (but not instantly) overwrites the system generated file. Therefore the (ugly) system generated copy of app_offline.htm might be served to requests within a 1-2 second window of initiating the publish, before being updated with your custom file.

    The publishing process automatically deletes the app_offline.htm from the remote server irrespective of its content or origin.

    The advantage is (over replacing the system copy) is that your own copy is portable, is automatically solution-specific, and works with source control.

    I know this question is old, but I hope this helps others coping with this issue.

    0 讨论(0)
  • 2020-12-03 01:53

    Andrew bullocks answer works like a charm! although it depends on which visual studio you are using.

    C:\Users\USERNAME\AppData\Roaming\Microsoft\VisualStudio

    is the directory you should first land at, choose your VS version[ 8.0/9.0.....] and edit the app_offile.htm file.

    0 讨论(0)
  • 2020-12-03 01:54

    You can use a batch file which calls the compiler with the current directory information as parameters... It then copies app_offline.htm and copies the new file over. Run it from where the source is.

    I personally use a program which is just a bit more elaborate then the batch and also checks hash's of files to determine if they need updating makes a zip of new files and extracts it to the remote host and eliminates files we designate are for unit testing when going from test to production. I have also combined SVN integration into my solution so when you publish for test or production you also optionally commit to SVN. The program is stored on a network drive and is called from a batch file on the local PC with the current directory info. This way dev's dont have to update to the new deployer or the app_offline if any changes occur. Finally it removes the app_offline.

    Check out http://msdn.microsoft.com/en-us/library/system.web.compilation(v=vs.80).aspx for more info or http://msdn.microsoft.com/en-us/library/ms229863(v=vs.80).aspx if you are just making a quick batch!

    Additionally in the post you initially referenced and I have also verified you can actually change it but you change it for others using the publish feature as well. This is why you were given the answer you were.

    0 讨论(0)
提交回复
热议问题