初識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?}"); }); } } }
相關文章
相關標籤/搜索