0

このエラーは私に発生しました、そして私はそれの原因を見つけることができません。発生した唯一の変更は、データベーススキーマの変更であり、webconfigの変更はまったくありません。また、しばらくの間変更されていないカスタムロールプロバイダーを使用しています。次のエラーページが表示されます。

'/'アプリケーションのサーバーエラー。

構成エラー

説明:この要求を処理するために必要な構成ファイルの処理中にエラーが発生しました。以下の特定のエラーの詳細を確認し、構成ファイルを適切に変更してください。

パーサーエラーメッセージ:呼び出しのターゲットによって例外がスローされました。

ソースエラー:

55行目:56行目:57行目:58行目:59行目:

ソースファイル:... \ web.config行:57

バージョン情報:Microsoft .NET Frameworkバージョン:4.0.30319; ASP.NETバージョン:4.0.30319.272

カスタムロールプロバイダーのコンストラクターの問題である可能性があることをどこかで読んだことがありますが、これまでのところ修正できなかったため、次のことを疑問に思っている人はコンストラクターです。

    private IProviderRepository _providerRepository;

    public CustomRoleProvider() : this(new ProviderRepository()){}

    public CustomRoleProvider(IProviderRepository providerRepository)
    {
        _providerRepository = providerRepository;
    }
4

1 に答える 1

0

クラス内ProviderRepositoryで、プライベート フィールドに新しいデータベース コンテキストをインスタンス化しているようです。

internal class ProviderRepository : IProviderRepository 
{ 
    private readonly DatabaseDataContext _dc = new DatabaseDataContext(); 

    public string[] GetUserRoles(string username) { ... } 
}

また、web.config でその接続文字列を間違って定義しています。

于 2012-08-14T17:55:28.290 に答える