12

IIS 7.5 に ASP.NET 4.0 Web フォーム アプリケーションをインストールしました。アプリケーション プールをDefaultAppPool (.NET Framework 2.0) に設定すると、プロバイダー、.NET ロール、および .NET ユーザーのアイコンが IIS マネージャーのアプリケーションの構成ページに表示され、IIS 内でユーザーとロールを管理できます。 . (フォーム認証を使用しています。)

しかし、アプリケーション プールをASP.NET v4.0に設定すると、問題が発生します。IIS マネージャーでユーザーまたはロールのアイコンをダブルクリックすると、プロバイダーを特定できなかったため、これらの機能を使用できないというエラーがスローされます。信頼されています。trustedProvidersセクションallowUntrustedProviders="true"でadministration.configを設定し、アイコンの1つをもう一度ダブルクリックすると、アセンブリSystem.Web、バージョン4.0.0.0、Culture=neutral、PublicKeyToken=b03f5f7f11d50a3aができなかったというエラーが表示されます見つけられた。IIS マネージャーを再起動すると、アイコンが完全に消えます。

.NET Framework 4.0 は確実にインストールされています。したがって、これはすべて非常に紛らわしいです。私は、.NET 4 が .NET 2-3 の古い GAC とは別の GAC を使用していることを知っています。IIS マネージャーが .NET 4 用の新しい GAC を見つけられない可能性はありますか? おそらく新しい 4.0 アセンブリのいくつかを管理.config に追加する必要がありますか? IIS の代わりにユーザーとロールを追加する別の方法はありますか?

事前に助けてくれてありがとう!

4

2 に答える 2

10

管理ページを作成するよりもはるかに簡単な回避策があります。

  1. サーバー上に新しいサイトを作成します。これには、MembershipAdminstrationYourActualSiteName という名前を付けることができます。このサイトではページを実行しないため、バインドは問題ではありませんが、2.0 の既定のアプリケーション プールで実行されていることを確認してください。

  2. web.config を 4.0 サイトから新しいサイトのフォルダーにコピーします。ファイルを編集して、connectionString、authentication、membership、roleManager、および profile セクション以外のすべてを削除します。

  3. IIS マネージャーで、.NET ロールと .NET ユーザーにアクセスできるようになりました。web.config ファイルを正しく編集したと仮定すると、4.0 アプリケーションのユーザーとロールが表示されます。

于 2011-02-14T16:36:20.357 に答える
9

残念ながら、現在、アプリケーション プールが .NET 4.0 を使用している場合、これらの機能はサポートされていません。これは、適切なプロバイダーを呼び出すために、IIS マネージャーが .NET 4.0 フレームワークをロードする必要があるためです (.NET ユーザー/メンバーシップ、.NET IIS マネージャーは .NET 2.0 アプリケーションであるため、これは不可能です。

したがって、現時点では、アプリケーション プールを一時的に 2.0 に変更して追加し、その後 4.0 に戻す以外に適切な回避策はありません。ただし、もちろん、開発マシンでない限り、これを行うべきではありません。

それ以外の場合は、CreateUserWizard コントロールを使用してページを作成し、(マークアップの) 1 行である ASP.NET の組み込みの Login コントロールを使用して、同様の機能を得ることができます。

于 2010-06-22T04:41:41.820 に答える