我正在创建一个.net核心应用程序。
为了保持整洁,我试图将所有不同的“服务”分开
在我的主人
startup.cs
我运行以下命令:
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication("Bearer")
.AddJwtBearer("Bearer", options =>
{
options.Authority = "https://localhost:5001";
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateAudience = false
};
});
ProjectA.Startup.ConfigureServices(services);
ProjectB.Startup.ConfigureServices(services);
ProjectC.Startup.ConfigureServices(services);
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
ProjectA.Startup.Configure(app, env);
ProjectB.Startup.Configure(app, env);
ProjectC.Startup.Configure(app, env);
}
这似乎很有效,我所有的API端点都可用。
现在我试图在ProjectC中添加一些剃刀页面,但在转到
/home
页面:
这就是
startup.cs
关于该项目:
public class Startup
{
public static void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
}
public static void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
app.UseRouting();
app.UseStaticFiles();
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapDefaultControllerRoute()
.RequireAuthorization();
});
}
}
文件夹结构如下:
.
âââ src/
â âââ ProjectA/
â â âââ Controllers/
â â âââ startup.cs
â âââ ProjectB/
â â âââ Controllers/
â â âââ startup.cs
â âââ ProjectC/
â â âââ Controllers/
â â â âââ HomeController.cs
â â âââ Views/
â â â âââ Home/
â â â â âââ index.cshtml
â â â âââ Shared/
â â â â âââ _Layout.cshtml
â â â â âââ _Nav.cshtml
â â â â âââ ...
â â â âââ _ViewImports.cshtml
â â â âââ _ViewStart.cshtml
â â âââ startup.cs
â âââ MainProject/
â âââ startup.cs
âââ project.sln
对如何使其工作有什么想法/建议吗?我尝试了一些静态文件配置,但没有一个给我任何结果