Windows 8.1 / Windows 10 breaks my ASP.NET / IIS : “Service unavailable”

Windows 8.1 / Windows 10 breaks my ASP.NET / IIS : “Service unavailable”

With Windows 8.1 finally released to MSDN/Technet today I came across the following issue running my ASP.NET application after doing an in place upgrade with Win 8.1 RTM:

Service Unavailable

HTTP Error 503. The service is unavailable.

  • The AppPool has died and shows a status of Stopped
  • The IIS log has nothing
  • There's a clue is in the Windows Application log which contains this error

    The Module DLL C:\WINDOWS\system32\inetsrv\rewrite.dll failed to load. The data is the error.

How can I recover my IIS to make it work again? 

 

回答

It looks like a simple uninstall and re-install of the rewrite module will do the trick.

Edit: As others have said - try a repair first - if it works then that should be faster.

It doesn't look like the Microsoft Web Platform Installer is able to uninstall it so just go to Programs and Features to uninstall it.

You'll find it listed as IIS URL Rewrite Module 2 and just click the Uninstall button on top.

Then reinstall it from here:

http://www.iis.net/downloads/microsoft/url-rewrite

Make sure your App Pool is started - or just restart IIS and it should all work again.


Edit: 8/30/16 : A similar but unrelated error can occur if you have the 'new' .NET core installed and update to Win 10 Anniversary edition. See here: https://github.com/aspnet/Home/issues/1583 - Running a repair on VS 2015 Tooling Preview should fix it. Wanted to add it here since the errors are very similar to this answer.

 

如果之前没有这个模块的话,直接安装新的就可以了,无需卸载

 

 

.vs\config\applicationhost.config in source control

和可能是.vs文件夹下的applicationhost.config文件导致的问题

 
 

You should ignore .vs folder all together.

However, there are cases where you want to persist some config on your applicationhost.config file such as registering FQDN as explained here.

For this type of config, you want to use the global application host file where you can persist your changes.

In a classic Web Application project (where you have .csproj file), you need to set the UseGlobalApplicationHostFile property to true inside the .csproj file:

<UseGlobalApplicationHostFile>True</UseGlobalApplicationHostFile>

VS 2015 honors this and uses the global application host file. However, there is no way to tell ASP.NET 5 projects to look for this today as far as I know.

 

IIS Error "*.dll failed to load. The data is the error"

They indicate some IIS features need to be enabled.   The easiest and quickest is enable all IIS features instead of figuring out which one are needed exactly.

 

 

The following error requires to comment out all aspnetcore related lines in file applicationHost.config under folder  C:\Windows\System32\inetsrv\Config

 The Module DLL C:\Windows\system32\inetsrv\aspnetcore.dll failed to load.  The data is the error.

 

 

event log里面的错误 The worker process for application pool 'UK' encountered an error '未能解密特性“password”

' trying to read configuration data from file '\\?\C:\inetpub\temp\apppools\UK\UK.config', line number '128'.  The data field contains the error code.

Config Error Failed to decrypt attribute 'password'

 把配置文件里面的username和password相关的东西删掉,就可以正常工作了

I resolved the issue. The problem was applicationHost.config file. In the config file, I deleted username and password definitions for applications and it worked well.

 

 

 
 
 
 
 
posted @ 2020-04-27 14:03  ChuckLu  阅读(342)  评论(0编辑  收藏  举报