アプリケーション プール ID を変更した後の ASP.NET アプリケーションでの UnauthorizedAccessException

アプリケーション プール ID を変更した後の ASP.NET アプリケーションでの UnauthorizedAccessException

Windows Server 2003とIIS 6でSharePoint (MOSS 2007)インスタンスを実行しています。IISでは、SharePoint Webサイトの下の仮想ディレクトリを介してASP.NETアプリケーションを設定しました。SharePointには、URLを使用してアクセスします。http://会社ポータルASP.NETアプリケーションはURLを使用してアクセスされますhttp://companyportal/apps/Default.aspxSharePoint と ASP.NET アプリケーションの両方で同じアプリケーション プールが使用されることに注意してください。

最近、ASP.NET アプリケーションを独自のアプリケーション プールに分離することにしました。これにより、ASP.NET アプリケーションは SharePoint から完全に独立し、何らかの理由で ASP.NET アプリケーションが過度の量のリソースを消費し始めても、ポータルに問題が発生することはありません。

そこで、ASP.NETアプリケーション用の新しいアプリケーションプールを作成しました。この新しいアプリケーションプールのIDとして機能する新しいサービスアカウントを、次の手順に従って作成しました。MSDN ブログ投稿新しいアプリケーション プールを再起動し、ASP.NET アプリケーションを参照しました。観察された動作は次のとおりです。

  • アプリケーションの読み込みが非常に遅いです。
  • 最終的に、アプリケーション ページが表示され、データベース呼び出しなどが成功したことを意味します。
  • 最後に、スローされたメッセージが表示されますSystem.UnauthorizedAccessException。Visual Studio 2008 は同じサーバー上にあるため、Visual Studio Just-In-Time デバッガーを開くように求められますが、役に立つ情報は得られませんでした。
  • イベント ビューアーに次のエラーが表示されます:

    • ソース: ASP.NET 2.0.50727.0 (イベント ID 1334)

      未処理の例外が発生したため、プロセスが終了しました。

      アプリケーション ID: /LM/W3SVC/1/Root/apps

      プロセスID: 3028

      例外: System.UnauthorizedAccessException

      メッセージ: ポートへのアクセスが拒否されました。

    • ソース: .NET ランタイム 2.0 エラー(イベントID 5000)

      イベント タイプ clr20r3、P1 w3wp.exe、P2 6.0.3790.3959、P3 45d6968e、P4 system、P5 2.0.0.0、P6 504057aa、P7 3bf9、P8 7a、P9 system.unauthorizedaccess、P10 NIL。

Stack Overflow でさらに検索した後、次の手順を実行しました。

aspnet_regiis.exe -GA ドメイン\ユーザー名

これにより、アプリケーションの読み込み速度は向上しましたが、上記のエラーは引き続きイベント ビューアーに表示されます。

SharePoint アプリケーション プールを実行している同じサービス アカウントを使用する場合、これらの問題は発生しませんが、新しいサービス アカウントを使用した瞬間に問題が発生します。したがって、サービス アカウントの設定方法に関係していると思いますが、何が足りないのかよくわかりません。

答え1

カスタム ユーザーを IIS_WPG グループに追加しましたか? これは IIS6 の要件です。aspnet_regiis -GA を実行すると、IIS_WPG が処理するアクセス許可の一部が付与されますが、すべてが付与されるわけではありません。

また、カスタム アカウントに少なくともディスクの読み取り権限があることを確認してください。ただし、これが、言及したエラーの具体的な原因ではありません。

関連情報