オンラインで回答が見つからないエラーが発生しました。IIS の役割と ASP.NET の役割サービスを使用して、新しい仮想 Server 2008 R2 Standard ボックスを作成しました。サーバーは本番用です。Web サイトをサーバーにコピーしましたが、機能しなくなりました。具体的には、RoleManagerModule が NullReferenceException をスローしています。これは任意の *.aspx ページで発生しますが、robots.txt などの静的ページでは発生しません。このエラーは、承認規則がないページでも発生します。アプリケーション イベント ログのエラーからの関連スニペットを次に示します。
Exception information:
Exception type: NullReferenceException
Exception message: Object reference not set to an instance of an object.
Request information:
Request URL: ********
Request path: /
User host address: ********
User:
Is authenticated: False
Authentication Type:
Thread account name: ********
Thread information:
Thread ID: 8
Thread account name: ********
Is impersonating: False
Stack trace: at System.Web.Security.RoleManagerModule.OnEnter(Object source, EventArgs eventArgs)
at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
これは、ロール マネージャーが web.config で有効になっている場合にのみ発生します。
<roleManager defaultProvider="EWRO" enabled="true">
enabled 属性を削除するか false に設定すると、aspx ページは適切に応答します。ウェブサイトが現在実行されているサーバーの構成とインストールされているサービスを可能な限り一致させました。カスタム ロール プロバイダーがあることに気付くかもしれませんが、defaultProvider 属性を削除しても同じ例外が発生します。とにかく AspNetSqlRoleProvider は失敗しますが、その時点には到達しません。
解決策または解決策を見つけるための手順をいただければ幸いです。