3
如何在非託管的asp.net-5控制檯應用程序包中訪問UserManager
和/或RoleManger
?如何從控制檯應用程序訪問UserManager和RoleManager?
如何在非託管的asp.net-5控制檯應用程序包中訪問UserManager
和/或RoleManger
?如何從控制檯應用程序訪問UserManager和RoleManager?
Program.cs的
public class Program
{
public void Main(string[] args)
{
var roleManager = serviceProvider.GetRequiredService<RoleManager<IdentityRole>>();
var userManager = serviceProvider.GetRequiredService<UserManager<ApplicationUser>>();
// do whatever
}
private readonly IServiceProvider serviceProvider;
public IConfigurationRoot Configuration { get; private set; }
public Program(IApplicationEnvironment env, IServiceManifest serviceManifest)
{
Configuration =
new ConfigurationBuilder(Directory.GetCurrentDirectory())
.AddJsonFile("config.json") // add the file to your project
.AddEnvironmentVariables()
.Build();
var services = new ServiceCollection();
ConfigureServices(services);
serviceProvider = services.BuildServiceProvider();
}
private void ConfigureServices(IServiceCollection services)
{
var connectionString = Configuration["Data:DefaultConnection:ConnectionString"];
// Register EntityFramework 7
services.AddEntityFramework()
.AddSqlServer()
.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(connectionString));
// Register UserManager & RoleManager
services.AddIdentity<ApplicationUser, IdentityRole>()
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
// UserManager & RoleManager require logging and HttpContext dependencies
services.AddLogging();
services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
}
}
config.json
{
"Data": {
"DefaultConnection": {
"ConnectionString": "Server=(localdb)\\ProjectsV12;Database=my-database-name;Integrated Security=true;Trusted_Connection=True;MultipleActiveResultSets=true"
}
}
}
哪些是需要這個包? – series0ne