Браузер загружает приложение ASP вместо отображения

Браузер загружает приложение ASP вместо отображения

Windows Server 2012 R2 / IIS 8.5

У IIS > Sites > Default Websiteменя есть приложение (ASP), и когда я захожу на URL-адрес локального хоста, вместо отображения страницы загружается файл.

Файлы расположены в C:\inetpub\wwwroot\roomsпапке , а внутри нее находятся различные .dllфайлы, папки и web.config. Содержимое папки web.configследующее:

<?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 Documentв IIS соответствующий .dllфайл, вот что загружается, когда я захожуlocalhost/rooms

Я перезапускал сервер IIS и сам сайт несколько раз. На том же сервере размещены и другие сайты, и они работают как положено и доступны по похожему URL. Я также пробовал разные браузеры.

Я проверил функции и роли Windows и могу подтвердить, что ASP.NET 3.5и ASP.NET 4.5отображаются как (Installed), как ISAPI Extensionsи ISAPI Filters.

У меня очень мало опыта работы с IIS или ASP.

  • Почему приложение загружается, а не отображается?
  • Как мне начать устранение этой неполадки?

решение1

Для нас это была проблема привязки. Если вы откроете IIS, щелкните правой кнопкой мыши по веб-сайту и посмотрите свойства привязки, то он выведет список всех имен и то, как он будет обрабатывать файлы.

Нам нужно было удалить две записи:

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

Оставшаяся часть привязки, которую необходимо было оставить, это:

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

Если имя хоста пустое, это означает, что оно будет соответствовать чему угодно, однако, поскольку там были две записи, перехватывающие сначала запросы к localhost, он никогда не мог обработать запрос как тип http.

Связанный контент