初识Core
1.初识Core
我们新建一个项目-


新建之后我们就会看到:

Program.cs
/// <summary>
/// asp.net--网站托管在IIS--IIS负责监听-转发请求--响应客户端
/// .net core--控制台--CreateWebHostBuilder(内置了服务器)--启动了服务器--负责监听-转发请求--响应客户端
/// KestrelServer 跨平台的服务器
/// (IIS只能做反向代理,不再做啥监听)/// </summary>
public class Program
{
//Main是整个程序的入口
public static void Main(string[] args)
{
//跨平台没有IIS,.NETCore CreateWebHostBuilder(内置了服务器)--启动了服务器--负责监听-转发请求--响应客户端全部自己做,不用IIS处理
//只要当前这个服务器是跨平台的,那么我整个程序都是跨平台的
// 创建一个服务器实例,服务器是跨平台的,
CreateHostBuilder(args)
.Build()
.Run();
}
/// <summary>
/// 调入当前方法,CreateHostBuilder->然后进入 Startup 这个类
/// </summary>
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
}) ;
}
appsettings.json配置文件:

/// appsettings.json相当于Webconfig,存储格式也变了,由XML格式变为了Json格式
/// Asp读取配置文件:依赖于ConfiguartionManager
/// Core依赖于Configuration
/// 通过Xpath来读取配置文件的数据
Startup.cs
namespace MyNetCore.MVC6
{
/// <summary>
/// 固定类
/// </summary>
public class Startup
{
/// <summary>
/// 构造函数的注入,内置IOC
/// </summary>
public IConfiguration Configuration { get; }
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
/// <summary>
/// 把服务注入容器里面去【core内置IOC】:当前方法被运行时环境调入,把服务添加到container容器里面去
/// Startup:IServiceCollection就是一个容器,那我们是怎么使用
/// </summary>
/// <param name="services"></param>
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
services.AddSession();
}
//上面服务注册了,那我们就可以做一些使用
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
/*以下部分可以全部注释,可以自行定义*/
//判断当前环境是不是开发环境
if (env.IsDevelopment())
{
//是:抛异常
app.UseDeveloperExceptionPage();
}
else
{
//进入特定页面
app.UseExceptionHandler("/Home/Error");
}
//上面是把服务注册到容器里面,这边就可以使用注册进来的服务
//使用文件,涉及:一些中间件的使用
//静态文件能够被保存在网站根目录下的任意文件夹内,并通过相对根的路径来访问。为了能使用静态文件服务,必须配置中间件,把静态文件中间件加入到管道内。 //静态文件中间件可以通过下述方法来配置:在项目中增加Microsoft.AspNetCore.StaticFiles包依赖,然后从Startup.Configure中调用.UseStaticFiles扩展方法:
//使得web root(默认为wwwroot)下的文件可以被访问。
app.UseStaticFiles();
app.UseSession();
app.UseRouting();//将注册运行逻辑路由的中间件。
app.UseAuthorization();
//注册MVC中间件,并配置路由规则
app.UseEndpoints(endpoints =>
{
//MapControllerRoute:添加控制器的常规路由
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
}
}
赞 (0)
