次の方法で共有


ASP

作成者: Walter Oliver

クラシック ASP は IIS 7.0 以降に含まれており、共有ホスティング シナリオで使用できます。 ただし、ホスト側でそうすることを計画している場合、次の推奨事項を考慮する必要があります。

  1. ASP テンプレート キャッシュを無効にします。 ASP ディスク テンプレート キャッシュは共有ホスティングに対応していないため、無効にする必要があります。 ワーカー プロセスごとに最大 500 個の ASP ページがメモリにキャッシュされてから、何かがディスクに書き込まれるため、この問題は発生しないはずです。
  2. scriptErrorSentToBrowser 設定を委任します。 IIS チームは、IIS 7.0 以降で従来の ASP セキュリティを強化しました。 たとえば、scriptErrorSentToBrowser プロパティは false に設定されています。 これは、ユーザーのブラウザーにスクリプト エラーが一切表示されないことを意味します。 ただし、ホスト環境では、これは問題になる可能性があります。 従来の ASP エラーのトラブルシューティングを行う方法は、他にはほとんどありません。 applicationhost.config の <asp> セクションを委任することはお勧めしません。これは、テンプレート キャッシュの場所や、ホスト側が委任したくない可能性がある runOnEndAnonymously 設定などの特定の設定があるためです。 以下のガイダンスでは、<asp> セクション全体を委任せずに scriptErrorSentToBrowser 設定を委任する方法について説明します。

ASP テンプレート キャッシュを無効にするには:

コマンド プロンプトを開いて、次のコマンドを実行します。

%windir%\system32\inetsrv\appcmd set config -section:asp -cache.maxDiskTemplateCacheFiles:0

scriptErrorSentToBrowser 設定を委任するには:

  1. テキスト エディターで %windir%\system32\inetsrv\config\applicationhost.config を開き、<section name="asp" overrideModeDefault="Deny" /> 要素を次のように変更することで、overrideModeDefault を介して applicationhost.config の <asp> セクションの委任を許可します。

    <section name="asp" overrideModeDefault="Allow" />
    
  2. lockAllAttributesExcept と lockElements を使用して scriptErrorSentToBrowser 設定の委任のみを許可し、<asp> 要素を見つけて、次のように変更します。

    <asp lockAllAttributesExcept="scriptErrorSentToBrowser" lockElements="limits,cache" />
    
  3. これで、ホスト側として appcmd を使用して scriptErrorSentToBrowser 設定を true に設定できるようになりました (下の例を参照)

    %windir%\system32\inetsrv\appcmd set config "Default Web Site" -section:asp -scriptErrorSentToBrowser:true
    

    または、web.config ファイルに次のステートメントを配置するように顧客に依頼することもできます。

    <system.webServer>
       <asp scriptErrorSentToBrowser="true"/>
    </system.webServer>
    

リソース

詳細については、以下を参照してください。