Browser lädt ASP-App herunter, anstatt sie anzuzeigen

Browser lädt ASP-App herunter, anstatt sie anzuzeigen

Windows Server 2012 R2 / IIS 8.5

Wenn ich in IIS > Sites > Default Websiteeiner (ASP-)Anwendung die Localhost-URL besuche, wird statt der Anzeige der Seite eine Datei heruntergeladen.

Die Dateien befinden sich unter C:\inetpub\wwwroot\roomsund in diesem Ordner befinden sich verschiedene .dllDateien, Ordner und ein web.config. Der Inhalt web.configist:

<?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>

Default DocumentIch habe in IIS die entsprechende Datei eingestellt .dll, diese wird heruntergeladen, wenn ich besuchelocalhost/rooms

Ich habe den IIS-Server und die Site selbst ein paar Mal neu gestartet. Auf demselben Server werden noch andere Sites gehostet, die wie erwartet funktionieren und über eine ähnliche URL erreichbar sind. Ich habe auch verschiedene Browser ausprobiert.

Ich habe die Windows-Funktionen und -Rollen überprüft und kann bestätigen, dass ASP.NET 3.5und ASP.NET 4.5als angezeigt werden (Installed), wie das ISAPI Extensionsund ist ISAPI Filters.

Ich habe sehr wenig Erfahrung mit IIS oder ASP.

  • Warum wird die Anwendung heruntergeladen und nicht angezeigt?
  • Wie kann ich mit der Fehlerbehebung beginnen?

Antwort1

Bei uns war es ein Bindungsproblem. Wenn Sie IIS öffnen, mit der rechten Maustaste auf die Website klicken und die Bindungseigenschaften ansehen, werden alle Namen aufgelistet und es wird angegeben, wie die Dateien behandelt werden.

Es gab zwei Einträge, die wir löschen mussten:

type                 host  port       binding
------------------------------------------------
net.msmq                              localhost*
msmq.formatname                       localhost*

Die verbleibende Bindung, die bleiben musste, war:

type    host      port                 binding
------------------------------------------------
http              80                        

Wenn der Hostname leer ist, bedeutet dies, dass er mit allem übereinstimmt. Da jedoch die beiden Einträge vorhanden waren und zuerst Abfragen an den lokalen Host abfingen, war es nie möglich, die Anforderung als Typ http zu verarbeiten.

verwandte Informationen