web-dev-qa-db-ja.com

IIS 7.0の下でクラシックASPアプリケーションを動作させるためのガイド方法

IIS 7.0。

それが何らかの違いを生む場合、それは64ビットWindowsサーバー2008マシン上にあります。

28
GordyII

いくつかのClassic ASPコードを64ビットWindows 2008に移動しました。これまでに行った、または発見したいくつかのことを以下に示します。

  • 「クラシック」パイプラインモードのアプリケーションプールでアプリケーションをホストすることから始めます。正常に動作したら、後日提供する機能を活用する必要がある場合は、「統合モード」に切り替えることができます。

  • ASP=アプリケーションが32ビットのサードパーティまたは社内コンポーネントを消費する場合、32ビットモードで実行するようにアプリケーションプールを構成する必要があります。32ビットDLLは64ビットにロードされませんプロセス。これはアプリケーションプールの[詳細設定]で構成できます。_Enable 32-Bit Applications_をTrueに設定します。

  • Classic ASPによる詳細なエラー報告を強制するには、WebサイトのASP 'feature')ページを開き、_Debugging Properties_ノードを展開します。_Send Errors To Browser_をTrueに設定します。

  • アプリケーションが親パスを使用する場合は、ASP settings 'feature' page(same as the same one))で設定する必要があります。設定はBehaviourノードの下にあり、名前は_Enable Parent Paths_。IIS6と同様に、デフォルト設定はFalseです。

  • IIS7のデフォルトの匿名アカウントは、IUSRと呼ばれます。これを変更するには、Webサイトの認証設定の「機能」ページを開き、_Anonymous Authentication_設定を編集します。

  • アプリケーションプールとサイトの匿名アカウントの両方にアプリケーションプールIDを使用することをお勧めします: アプリケーションプールID

45
Kev

私はこれが5年前のスレッドであることを知っていますが、古いASPアプリの移行/アップグレードを遅らせてきた私たちには依然として関連があります。

ここで私が約2時間頭を叩いていた非常に重要なことがあります。どのようにしてASPアプリをアプリケーションプールに入れますか。ASPページを互換性のないテクノロジーのアプリケーションにすることはできません。

まあ、DUHHの瞬間に、サイト全体に割り当てられたアプリケーションプールがあることを発見しました。 [サイト]でサイトに移動し、[基本設定]を選択して、アプリケーションプールを割り当てます。

DLLの登録やこのスレッドにあるかどうかはわかりませんが、ODBC接続を32ビットと64ビットにして2つの異なるodbcad32.exeアプリを作成するなど、これ以外のすべての情報は非常に役立ちます。

再びありがとう(5年遅れ)。

6
user3388628

また、IISが32ビットモードで実行されているときに32ビットdllを登録する必要がある場合は、\ windows\syswow64\regsvr32.exe dllname.dllを使用する必要があります。

ああ、そしてサーバー側のデバッグをオンにしすぎないようにしてください。これにより、IISがシングルスレッドモードで実行されます(非常に遅くなります)。

3
Michael Pryor