ASP.NET Core 6 MVC 项目的脚手架标识库后出现 404 错误
404 error after scaffolding identity library of an ASP.NET Core 6 MVC project
我正在使用 .NET 6。每次我搭建 Identity 时,应用程序都会停止工作。
我的Startup
class是这样的:
using BulkBook.Data.Data;
using BulkBook.Data.Repository;
using BulkBook.Data.Repository.Common;
using Microsoft.EntityFrameworkCore;
using Microsoft.AspNetCore.Identity;
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddControllersWithViews();
builder.Services.AddDbContext<BulkDbContext>(options => options.UseSqlServer(builder.Configuration.GetConnectionString("BuldDbConnection")));
//builder.Services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = true)
// .AddEntityFrameworkStores<BulkDbContext>();
builder.Services.AddDefaultIdentity<IdentityUser>()
.AddEntityFrameworkStores<BulkDbContext>();
builder.Services.AddScoped<IUnitOfWork, UnitOfWork>();
builder.Services.AddRazorPages().AddRazorRuntimeCompilation();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Home/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
app.MapRazorPages();
app.MapControllerRoute(
name: "default",
pattern: "{area=Customer}/{controller=Home}/{action=Index}/{id?}");
app.Run();
文件夹结构如下:
如果我删除 Identity
文件夹,一切就会重新开始。
_ViewStart.cshtml
身份包含以下代码
@{
Layout = "/Views/Shared/_Layout.cshtml";
}
我使用区域配置来安排控制器。但是,在添加身份库之后,我不知道为什么路由不起作用。为了让它工作,我刚刚用
装饰了控制器 类
[Area]
属性并传递区域名称。这解决了问题
在你的控制器中添加区域,它会成功
我发现当我使用一些区域时,我会更加含蓄。我不仅声明了区域属性,还声明了区域。
[区域(“着陆点”)]
这对我有用。
我正在使用 .NET 6。每次我搭建 Identity 时,应用程序都会停止工作。
我的Startup
class是这样的:
using BulkBook.Data.Data;
using BulkBook.Data.Repository;
using BulkBook.Data.Repository.Common;
using Microsoft.EntityFrameworkCore;
using Microsoft.AspNetCore.Identity;
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddControllersWithViews();
builder.Services.AddDbContext<BulkDbContext>(options => options.UseSqlServer(builder.Configuration.GetConnectionString("BuldDbConnection")));
//builder.Services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = true)
// .AddEntityFrameworkStores<BulkDbContext>();
builder.Services.AddDefaultIdentity<IdentityUser>()
.AddEntityFrameworkStores<BulkDbContext>();
builder.Services.AddScoped<IUnitOfWork, UnitOfWork>();
builder.Services.AddRazorPages().AddRazorRuntimeCompilation();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Home/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
app.MapRazorPages();
app.MapControllerRoute(
name: "default",
pattern: "{area=Customer}/{controller=Home}/{action=Index}/{id?}");
app.Run();
文件夹结构如下:
如果我删除 Identity
文件夹,一切就会重新开始。
_ViewStart.cshtml
身份包含以下代码
@{
Layout = "/Views/Shared/_Layout.cshtml";
}
我使用区域配置来安排控制器。但是,在添加身份库之后,我不知道为什么路由不起作用。为了让它工作,我刚刚用
装饰了控制器 类[Area]
属性并传递区域名称。这解决了问题
在你的控制器中添加区域,它会成功
我发现当我使用一些区域时,我会更加含蓄。我不仅声明了区域属性,还声明了区域。
[区域(“着陆点”)]
这对我有用。