私はさまざまなリソースを使用して、AngularJSアプリケーションのMS Accessを使用してIDシステムを実装しています。 私は必要なIDインターフェイスを実装するクラスを作成しましたが、アカウントコントローラ(登録、ログインなどのためのAPIになります)を作成する段階に固執しています。ASP.NET IDのカスタム実装
クラスUserStore
はIUserStore
を実装しCreateAsync
方法があります
public Task CreateAsync(TUser user)
{
if (user == null)
{
throw new ArgumentNullException("user");
}
var result = userTable.Insert(user);
return Task.FromResult(result);
}
AccountController
はApiController
を実装するとRegister
方法があります
[AllowAnonymous]
[Route("register")]
public async Task<IHttpActionResult> Register(IdentityUser user)
{
var result = await _userStore.CreateAsync(user);
if (result == 0)
{
return InternalServerError();
}
return Ok();
}
userTable.Insert(user)
がで影響を受けた行の数を示すint
を返すをDBテーブル。行var result = await _userStore.CreateAsync(user);
は、実際にはvoid
を返し、void
をvar
(または他のもの)に割り当てることはできないとエラーを返します。
Register
メソッドとCreateAsync
メソッドを一緒に使用する方法を理解するのは苦労しています。
はところで、私は全体async
事をあきらめ、ちょうどCreateAsync
を作り、Register
-あるとしてint型の値を返しますが、UserStore
は、 `IUserStore「を実装しているので、私はそれを行うことはできないはずです思いました。
は例があります[この質問](http://stackoverflow.com/questions/32927571/iuserstoretuser-createasync-how-to-specified-failure-in-custom-implementation)これは役に立ちます – stuartd