IIS 7.0。
それが何らかの違いを生む場合、それは64ビットWindowsサーバー2008マシン上にあります。
いくつかの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
私はこれが5年前のスレッドであることを知っていますが、古いASPアプリの移行/アップグレードを遅らせてきた私たちには依然として関連があります。
ここで私が約2時間頭を叩いていた非常に重要なことがあります。どのようにしてASPアプリをアプリケーションプールに入れますか。ASPページを互換性のないテクノロジーのアプリケーションにすることはできません。
まあ、DUHHの瞬間に、サイト全体に割り当てられたアプリケーションプールがあることを発見しました。 [サイト]でサイトに移動し、[基本設定]を選択して、アプリケーションプールを割り当てます。
DLLの登録やこのスレッドにあるかどうかはわかりませんが、ODBC接続を32ビットと64ビットにして2つの異なるodbcad32.exeアプリを作成するなど、これ以外のすべての情報は非常に役立ちます。
再びありがとう(5年遅れ)。
また、IISが32ビットモードで実行されているときに32ビットdllを登録する必要がある場合は、\ windows\syswow64\regsvr32.exe dllname.dllを使用する必要があります。
ああ、そしてサーバー側のデバッグをオンにしすぎないようにしてください。これにより、IISがシングルスレッドモードで実行されます(非常に遅くなります)。