Navegador descargando la aplicación ASP en lugar de mostrarla

Navegador descargando la aplicación ASP en lugar de mostrarla

Servidor Windows 2012 R2/IIS 8.5

Tengo IIS > Sites > Default Websiteuna 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\roomsy dentro de esta carpeta hay varios .dllarchivos, carpetas y un archivo web.config. Los contenidos del web.configson;

<?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 DocumentIIS en el .dllarchivo 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.5se ASP.NET 4.5muestran como (Installed), al igual que ISAPI Extensionsy 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.

información relacionada