SimpleMembershipProvider
SQLite を使用してサイトで認証を有効にしようとしています。で初期化してGlobal.aspx
ユーザーを作成できますが、ユーザーをログインできません。 を呼び出そうとすると、次のエラーが表示されますWebSecurity.Login([UserName], [Password])
。
Cannot implicitly convert type 'long' to 'int'. An explicit conversion exists (are you missing a cast?)
スタック トレースは次のとおりです (Login
関数を呼び出した後:
CallSite.Target(Closure , CallSite , Object ) +146
System.Dynamic.UpdateDelegates.UpdateAndExecute1(CallSite site, T0 arg0) +661
WebMatrix.WebData.SimpleMembershipProvider.VerifyUserNameHasConfirmedAccount(IDatabase db, String username, Boolean throwException) +315
WebMatrix.WebData.SimpleMembershipProvider.ValidateUser(String username, String password) +162
WebMatrix.WebData.WebSecurity.Login(String userName, String password, Boolean persistCookie) +32
私は、SQLiteInt64
が数値列 (ではないfloat
) の値のみを許可することを知っています。SimpleMembershipProvider
問題は、値を操作するにはどうすればInt64
よいですか? スタック トレースにリストされている問題のあるルーチンのソース コードを調べたところ、関数から返される前にすべての数値が明示的にキャストされているようInt32
です。ただし、System.Dynamic.UpdateDelegates.UpdateAndExecute1
またはへのソースCallSite.Target
がないため、そこで何が起こっているのかわかりません。さらに、それらはおそらくプリコンパイルされています。それで、どうすればこれを機能させることができるのでしょうか?