web-dev-qa-db-ja.com

IIS 7 + ASP.NET 4

ASP.NET 4アプリケーションに変換しようとしているASP.NETアプリケーションがあります。アプリケーションはかなり単純です。 IIS 7.5)に、ASP.NETアプリケーションが存在するディレクトリを指す新しいWebアプリケーションを作成しました。

アプリケーションを実行しようとしたときに、ブラウザに http:// localhost:[port] と入力すると、次のエラーが表示されます。

エラーの概要
HTTPエラー500.21-内部サーバーエラーハンドラー "PageHandlerFactory-Integrated"のモジュールリストに不正なモジュール "ManagedPipelineHandler"があります

最も考えられる原因:

  • マネージハンドラーが使用されます。ただし、ASP.NETがインストールされていないか、完全にはインストールされていません。
  • ハンドラーモジュールリストの構成に誤植があります。
17
user26712

.NET 3.5SP1とVS2008を使用する前に問題はありませんが、VS2010を使用してSLアプリを公開しようとすると、同じ問題が発生します。

これを実行してみてください(%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i)ここで説明しているように forums.iis.net/t/1149449.aspx およびここで www.gotknowhow.com/articles/fix-bad-module-managedpipelinehandler-in-iis7 そしてそれは今働きます。したがって、問題はASp> NET 4.0が正しくインストールされていないことですhuuu ... :)

23
middlevn

「aspnet_regiis.exe -i」のトリックでうまくいきました。

3
TWW

IISマネージャーの[サイト]で、ディレクトリ(Webページ)を見つけてアプリケーションに変換します。NETv.2以降を使用する有効なアプリケーションプールを選択(または新規作成)します。IISを再起動します。

1

結局、.NET 4フレームワークを再インストールしなければならなくなりました。

1
user26712

これは私のために働きました http://blogs.msdn.com/b/amol/archive/2009/03/31/aspx-pages-not-getting-served-on-iis-7.aspx

解決策:applicationHost.configにグローバルモジュールセクションを追加します。

<add name = "ManagedEngine" image = "%windir%\ Microsoft.NET\Framework\v2.0.50727\webengine.dll" preCondition = "integratedMode、runtimeVersionv2.0、bitness32" />

64ビット用
<add name = "ManagedEngine64" image = "%windir%\ Microsoft.NET\Framework64\v2.0.50727\webengine.dll" preCondition = "integratedMode、runtimeVersionv2.0、bitness64" />

0
kenwarner

チェックする2つのこと:

1).NET 4.0ビットをボックスにインストールしましたか?

2)問題のサイトはASP.NET 4.0を使用するように設定されていますか?

0
Wyatt Barnett