0

こんにちは、SimpleMembershipProvider を asp.net mvc アプリに統合しようとしていますが、いくつか問題があるようです。

これは私のweb.configにあるものです:

 <membership defaultProvider="SimpleMembershipProvider">
  <providers>
    <add name="SimpleMembershipProvider" type="WebMatrix.WebData.SimpleMembershipProvider"/>
  </providers>
</membership>

これは、ユーザーにログインするために実行しようとしているコードです。

public bool Login(string userName, string password, bool rememberMe)
{
        return WebSecurity.Login(userName, password, rememberMe);
}

このすべての get が呼び出される前に、次の属性コード get が呼び出され、正常に動作します。

 [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
public class MembershipInitializerAttribute : ActionFilterAttribute
{

    private const string CONNECTIONSTRING_NAME = "eShopConnectionString";
    private const string DATABASE_TABLE_NAME = "Users";
    private const string DATABASE_TABLE_IDENTIFIER_COLUMN = "UserId";
    private const string DATABASE_TABLE_USER_NAME_COLUMN = "UserName";
    private const bool AUTO_CREATE_TABLES = true;

    public override void OnActionExecuting(HttpActionContext actionContext)
    {
        if (!WebSecurity.Initialized)
        {
            WebSecurity.InitializeDatabaseConnection(CONNECTIONSTRING_NAME, DATABASE_TABLE_NAME, DATABASE_TABLE_IDENTIFIER_COLUMN, DATABASE_TABLE_USER_NAME_COLUMN, AUTO_CREATE_TABLES);
        }
    }
}

ユーザー名とパスワードを入力した後、ログイン メソッド get が実行されます。ログイン ボタンを押した後、ログイン メソッドを呼び出すログイン アクション get が実行され、魔女は次の例外をスローします。

{"タイプ 'WebMatrix.WebData.SimpleMembershipProvider' を読み込めませんでした。(F:\Programare\Projects IDE\Visual Studio\2012\e-shop\Backend\WebApi\e-shop.WebApi\web.config 行 73)"}

ここに画像の説明を入力

私が調査を行った後、多くの人が WebMatrix.WebData Copy Local プロパティを true に設定することを提案しました。

それを行った後、資格情報を挿入できる画面が表示されなくなったため、アプリケーションの起動時に何か問題が発生したようです。すぐに次のメッセージが表示された画面が表示されます。

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

パーサー エラー メッセージ: このメソッドは、アプリケーションの開始前の初期化段階では呼び出すことができません。

ここに画像の説明を入力

私は何を間違っていますか?どうすれば修正できますか?

編集

私はこのStackTraceも取得しています:

ここに画像の説明を入力

4

1 に答える 1