2

興味深い問題があります。

64 ビットの Windows 7 Pro ボックスには、IIS 7.5/64 がインストールされています。32 ビット アプリケーションを有効にするようにアプリケーション プールが構成されており、このアプリケーション プールを使用してサイトが作成されています。ただし、サイトのワーカー プロセスが開始されると、常に 64 ビット プロセスとして開始されます。アプリケーション プールの "ビット数" は、w3wp.exe プロセス名の "*32" タグがないタスク マネージャーで確認できます。

アプリケーション プールの削除と再作成、新しいアプリケーション プールの作成、32 ビット フレームワークの再登録、毎回 IIS の再起動を試みましたが、すべて役に立ちませんでした。「木のための森」モードで、些細なことを見落としていると確信しているので、霧を晴らすために正しい方向にプッシュしていただければ幸いです。

このような問題に関するいくつかの投稿を読みましたが、ほとんどの場合、アプリ プールが「32 ビット アプリを有効にする」ように構成されていることを確認することに重点が置かれています。これは最初に実行した手順の 1 つです。

4

2 に答える 2

2

設定しましたか

enable32BitAppOnWin64

本当ですか?

これは、プログラムで設定できる ApplicationPool クラスのプロパティとして公開されます: ApplicationPool.Enable32BitAppOnWin64

また、IIS 7 でのプロパティの設定に関する SO の質問があります (Azure を使用しているかどうかはわかりませんが、このアイデアは Azure 以外の環境に転送できると思います)。

Windows Azure 上の IIS 7 でアプリケーション プールのプロパティ Enable32BitAppOnWin64 を変更するにはどうすればよいですか?

最後に、アプリケーション プールのデフォルトで設定できます: http://www.iis.net/configreference/system.applicationhost/applicationpools/applicationpooldefaults

于 2013-01-21T15:19:25.350 に答える
1

さて、数日間頭を悩ませた後、私はついにこの問題を解決しました.

ボックスの各アプリケーション プールで [32 ビット アプリケーションを有効にする] が明示的に True に設定されていることを IIS 管理ツールで確認した後、マシンのapplicationHost.configを調べたところ、同じプールでこのプロパティが False に設定されていました。これらのエントリを手動で True に編集し、IIS を再起動してから、32 ビット バージョンの ASP.NET を再登録したところ、マシンが正常に動作するようになりました。

提案をありがとう。IIS管理ツールが32ビットアプリを有効にする設定について本質的に嘘をついていた理由は完全にはわかりませんが、まあ... :)

于 2013-01-22T14:53:26.457 に答える