初识Core

 1.初识Coreweb

咱们新建一个项目-json

 

    新建以后咱们就会看到:   服务器

   

 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?}"); }); } } }
相关文章
相关标签/搜索