2

私は、「Web サイト プロジェクト」と「Web アプリケーション プロジェクト」の間であらゆる種類のニュアンスに遭遇し続けています。これが私にとって最新のものです。

いくつかのクラス ライブラリ プロジェクト (DAL.dll、Biz.dll など) を含む Visual Studio 2005 ソリューションを継承しましたが、これはすべて、Web アプリ プロジェクトではなく、 Web サイト プロジェクトによって "フロント" されています。

Web アプリ プロジェクトはプラットフォーム ターゲット ドロップダウン リスト (任意の CPU、x86、x64) を提供しますが、貧弱なWeb サイト プロジェクトはそのようなものを何も提供していないようです。64 ビット IIS マシンでホストされている場合にWeb サイトが x86 として実行されるようにする方法はありますか?

..私がこれを求めている理由の全体像:

Web サイトは 64 ビット マシン (Win Server 2003) で実行されており、[最近学習したところ] 32 ビット COM オブジェクトを読み込めません。これは、Runtime Callable Wrapper でラップされていると思われます。この部分をロードできないため、web.config 設定は、この 32 ビット dll のロードをバイパスすることによってランタイム ロード エラーを回避するように設定されています (ただし、サイトが 64 で実行されている場合、COM dll のすべての機能は「失われます」)。ビットマシン)。

つまり、要約すると、64 ビット マシン上の Web サイトは IIS で 64 ビット アプリとして実行されている必要があり、代わりにサイトを 32 ビットとして実行することができれば COM dll をロードしてその機能を実行できると思います。アプリケーションの。

注: 私は、実際の開発環境にアクセスできるようになったときの迅速な理解に備えて、ここで調査を行ってきましたし、現在も調査を行っています。私の質問の多くは、[予想される] すぐに直面する問題の一部をつなぎ合わせることに基づいています。ありがとう。

4

2 に答える 2

2

私の知る限り、サーバー 03 では、IIS に 64 ビットと 32 ビットのアプリケーション プールを並べて配置することはできません。

強制的に 32 ビット モードで実行できますが、これはすべてのアプリケーション プールに影響するため、すべてのサイト/アプリに影響します。これは COM の問題を解決するはずですが、そのボックスで実行されている他のものに影響を与える可能性があるため、注意してください。公平を期すために、64 ビットから 32 ビットに切り替える可能性は、その逆よりも低くなります。64 ビット アプリケーション プールで実行する必要がある唯一の共通点は、Exchange 07 です。私は開発者であり、サーバー管理者ではありません。

よろしければ、こちらをご覧ください

ところで、サーバー 08 は、64 ビットと 32 ビットの両方のアプリ プールを同時にロックできます。

于 2009-12-10T18:59:52.563 に答える
1

Web サイト プロジェクトの x86/x64 ターゲットはなく、Any CPU ターゲットのみのようです。したがって、アプリ プールのビット数を制御して、Web サイトのビット数を制御する必要があります。

Windows Server 2008 または Windows 7 で AppPool を 32 ビットにする場合は、[IIS マネージャー] > [サーバー名] > [アプリケーション プール] > [詳細設定] に移動します。x86 プロセスとして実行するアプリ プールの [32 ビット アプリケーションを有効にする] を [True] に設定します。

他の WOW64 の考慮事項を考慮する必要があることに注意してください。たとえば、Web アプリによってアクセスされるレジストリ設定は、[HKLM\Software] キーの代わりに [HKLM\Software\Wow6432Node] キーを使用するようになります。

于 2010-05-14T23:15:37.610 に答える