Servidor Windows 2012 R2/IIS 8.5
Tengo IIS > Sites > Default Website
una aplicación (ASP), cuando visito la URL del host local, se descarga un archivo en lugar de mostrarse la página.
Los archivos se encuentran en C:\inetpub\wwwroot\rooms
y dentro de esta carpeta hay varios .dll
archivos, carpetas y un archivo web.config
. Los contenidos del web.config
son;
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<directoryBrowse enabled="false" />
<handlers accessPolicy="Read, Execute, Script">
<remove name="ISAPI-dll" />
<add name="ISAPI-dll" path="*.dll" verb="*" modules="IsapiModule" scriptProcessor="C:\inetpub\wwwroot\rooms\rooms.dll" resourceType="File" requireAccess="Execute" allowPathInfo="true" preCondition="bitness32" />
</handlers>
<defaultDocument enabled="true">
<files>
<add value="rooms.dll" />
</files>
</defaultDocument>
</system.webServer>
</configuration>
He configurado Default Document
IIS en el .dll
archivo relevante, esto es lo que se descarga cuando visitolocalhost/rooms
He reiniciado el servidor IIS y el sitio mismo varias veces. Hay otros sitios alojados en el mismo servidor y funcionan como se esperaba y son accesibles a través de una URL similar. También probé varios navegadores.
He verificado las funciones y funciones de Windows y puedo confirmar que ASP.NET 3.5
se ASP.NET 4.5
muestran como (Installed)
, al igual que ISAPI Extensions
y ISAPI Filters
.
Tengo muy poca experiencia con IIS o ASP.
- ¿Por qué se descarga la aplicación en lugar de mostrarse?
- ¿Cómo puedo empezar a solucionar este problema?
Respuesta1
Para nosotros era una cuestión vinculante. Si abre IIS, hace clic derecho en el sitio web y observa las propiedades de enlace, enumerará todos los nombres y cómo tratará los archivos.
Había dos entradas que necesitábamos eliminar:
type host port binding
------------------------------------------------
net.msmq localhost*
msmq.formatname localhost*
El vínculo restante que debía permanecer era:
type host port binding
------------------------------------------------
http 80
Cuando el nombre de host está en blanco, significa que coincidirá con cualquier cosa; sin embargo, debido a que las dos entradas estaban allí detectando consultas al host local primero, nunca pudo manejar la solicitud como tipo http.