瀏覽器下載 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.5ASP.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 類型的請求。

相關內容