ASP
作成者: Walter Oliver
クラシック ASP は IIS 7.0 以降に含まれており、共有ホスティング シナリオで使用できます。 ただし、ホスト側でそうすることを計画している場合、次の推奨事項を考慮する必要があります。
- ASP テンプレート キャッシュを無効にします。 ASP ディスク テンプレート キャッシュは共有ホスティングに対応していないため、無効にする必要があります。 ワーカー プロセスごとに最大 500 個の ASP ページがメモリにキャッシュされてから、何かがディスクに書き込まれるため、この問題は発生しないはずです。
- 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 設定を委任するには:
テキスト エディターで
%windir%\system32\inetsrv\config\applicationhost.config
を開き、<section name="asp" overrideModeDefault="Deny" /> 要素を次のように変更することで、overrideModeDefault を介して applicationhost.config の <asp> セクションの委任を許可します。<section name="asp" overrideModeDefault="Allow" />
lockAllAttributesExcept と lockElements を使用して scriptErrorSentToBrowser 設定の委任のみを許可し、<asp> 要素を見つけて、次のように変更します。
<asp lockAllAttributesExcept="scriptErrorSentToBrowser" lockElements="limits,cache" />
これで、ホスト側として 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>
リソース
詳細については、以下を参照してください。