userRepo
リポジトリ ( )を使用する方法があります。
public override Task<IdentityResult> CreateLocalUserAsync(IUser user, string password, CancellationToken cancellationToken)
{
var task = new Task<IdentityResult>(() => {
TUserEntity newUser = new TUserEntity
{
Id = user.Id,
UserName = user.UserName,
Password = password
};
userRepo.Save(newUser).Flush();
return new IdentityResult(true);
}, cancellationToken);
task.Start();
return task;
}
userRepo
オブジェクトには、 を使用する依存関係がありますHttpContext.Current
。これらはどちらも ninject を使用して解決されInRequestScope
ます。
上記のメソッドはAccountController
、Mvc 5 のデフォルト内で呼び出されます。
var result = await IdentityManager.Users.CreateLocalUserAsync(user, model.Password);
この設定をweb.configに追加しようとしました:
<add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
また、私は間違いなく .NET 4.5 を使用しています。これは私のweb.configにもあります:
<httpRuntime targetFramework="4.5" />
HttpContext
タスク内の の依存関係がuserRepo
情報を使用しており、両方のオブジェクトが Ninject を使用して解決されているため、タスクを開始する前に から情報を取得することはできません。
HttpContext.Current
それがnullにならないようにするにはどうすればよいですか?