ブラウザがASPアプリを表示する代わりにダウンロードする

ブラウザがASPアプリを表示する代わりにダウンロードする

Windows Server 2012 R2 / IIS 8.5

私が持っている (ASP) アプリケーションではIIS > Sites > Default Website、localhost URL にアクセスすると、ページが表示される代わりにファイルがダウンロードされます。

ファイルは にあり、このフォルダ内にはさまざまなファイル、フォルダ、および がC:\inetpub\wwwroot\roomsあります。 の内容は次のとおりです。.dllweb.configweb.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 DocumentIISで関連するファイルを設定しました.dll。これは私が訪問したときにダウンロードされるものです。localhost/rooms

IIS サーバーとサイト自体を数回再起動しました。同じサーバーでホストされている他のサイトがあり、それらは期待どおりに動作しており、同様の URL からアクセスできます。また、さまざまなブラウザーも試しました。

Windows の機能と役割を確認したところ、ASP.NET 3.5と がとして表示され、とも としてASP.NET 4.5表示されていることが確認できました。(Installed)ISAPI ExtensionsISAPI Filters

IIS や ASP の経験はほとんどありません。

  • アプリケーションが表示されるのではなく、ダウンロードされるのはなぜですか?
  • この問題のトラブルシューティングを始めるにはどうすればよいですか?

答え1

私たちの場合、それはバインディングの問題でした。IIS を開いて Web サイトを右クリックし、バインディング プロパティを確認すると、すべての名前とファイルの処理方法が一覧表示されます。

削除する必要のあるエントリが 2 つありました。

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

残しておく必要のある残りのバインディングは次のとおりです。

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

ホスト名が空白の場合、何にでも一致することを意味します。ただし、最初に localhost へのクエリをキャッチする 2 つのエントリがあったため、要求を http タイプとして処理することができませんでした。

関連情報