我刚刚更新了所有的 Identity nuget 包,以便我可以使用
var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
但是VS找不到它。它只能找到具有智能感知的 SingInManager<>。 没有 SignInManager.PasswordSignInAsync(...)。我什至在 SignInManager 上进行了定义,并查看了库中的源代码,它没有显示带有任何电子邮件参数的 PasswordSignInAsync,只是用户名。我查看了文件顶部的版本,它显示了
region Assembly Microsoft.AspNet.Identity.Owin.dll, v2.0.0.0
C:\TFS\GiftExchange\packages\Microsoft.AspNet.Identity.Owin.2.1.0\lib\net45\Microsoft.AspNet.Identity.Owin.dll
所以我知道我有正确的库,对吗?
甚至这似乎也被打破了。 我正在尝试遵循此处找到的代码
http://blogs.msdn.com/b/webdev/archive/2014/08/05/announcing-rtm-of-asp-net-identity-2-1-0.aspx
我已经更新了所有 nuget 软件包并检查了它们,它们都已下载,并且还下载了它们的依赖项。我是否缺少获取 SignInManager.PasswordSignInAsync 的内容?
最佳答案
你下载的包没有问题,实际上你不能这样使用。
首先创建ApplicationUserManager
类继承UserManager<YourApplicationUser>
然后创建ApplicationSignInManager
通过继承SignInManager<YourApplicationUser, string>
类
然后您可以使用下面的代码来获取 passworSignIn 的 owin 上下文
public ApplicationSignInManager SignInManager
{
get
{
return _signInManager ?? HttpContext.GetOwinContext().Get<ApplicationSignInManager>();
}
private set
{
_signInManager = value;
}
}
然后你就可以调用
var result = await SignInManager.PasswordSignInAsync(model.UserName, model.Password, model.RememberMe, shouldLockout: false);
使用个人帐户模板使用 Visual Studio 创建新项目,然后您可以轻松了解 ApplicationUserManager
和 ApplicationSignInManager 类。这两个类(class)都可以在 IdentityConfig.cs
上找到。 App_Start 文件夹下的类。
关于c# - Identity 2.1.0 中未找到 SigninManager 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28310822/