I am developing an ASP.NET MVC 5 site targeting .NET 4.5.1 and for some reason I am struggling to deploy it on a Windows Server 2008 Standard edition server.
To be clear the site runs fine on my Windows 7 development machine and my Windows Server 2012 test environment but when I deploy it to the Windows Server 2008 in question I get this error:
At this point I tried all the advice about reinstalling ASP.NET and enabling runAllManagedModulesForAllRequests that I found in threads like this one ASP.NET MVC on IIS 7.5 but nothing would make it work.
Eventually I found that I could fix the problem by switching off the "Invoke only requests to ASP.NET applications or managed handlers" option for all managed modules in the application. What this did in essence was to make the following changes to the web.config file:
So my question is two-fold. Firstly, why is this change necessary to get the site to work? Secondly, am I safe to change the web.config permanently given that it will be installed on other servers as well, not all of which will be Windows Server 2008?