1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      asp.netcore的發(fā)展歷程是什么

      本篇內(nèi)容介紹了“asp.net core的發(fā)展歷程是什么”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

      網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了湟中免費(fèi)建站歡迎大家使用!

      1. ASP.NET Core 介紹

      最早,微軟為了替代CGI腳本開發(fā)了asp應(yīng)用。ASP 全程 Active Server Page,意思是活動的服務(wù)器網(wǎng)頁。ASP是一種HTML+服務(wù)器代碼的組合,其后綴是.asp 。

      在2001年,微軟宣布將asp遷移到.NET Framework上,形成了一種新的腳本語言——名為asp.net。在2002年發(fā)布第一版,名為ASP.NET 1.0,附屬在.NET Framework 1.0 上。ASP.NET 不僅僅是asp + ,更是 asp + .net 。結(jié)合了.net之后的asp.net 更加強(qiáng)大。

      在2008年之前的某一年,asp.net mvc 上線了。從此之后,asp.net 分為了兩種技術(shù):asp.net webform(也就是原有的asp.net);asp.net mvc。MVC極大的減少了在前臺頁面中設(shè)置大量的服務(wù)器腳本,同時MVC更貼近與HTML語言,使得程序開發(fā)工程師和前端能更好的配合 。

      在2016年,微軟為了實(shí)現(xiàn)自己的跨平臺戰(zhàn)略,將.NET Framework提取出了.NET Core版本,同年發(fā)布1.0版本。與此同時發(fā)布了asp.net core RTM版,正式版發(fā)布于2017年。

      從此.net core帶著它的小伙伴 EF Core和ASP.NET Core一路高歌猛進(jìn),然后發(fā)展成了如今的現(xiàn)狀。

      當(dāng)然,以上內(nèi)容省略了大量的情節(jié),有興趣的小伙伴可以自行查閱相關(guān)資料。這里就不做過多的介紹了,因?yàn)槠L了,而且也會偏離主線。

      1.1 為什么是 ASP.NET Core

      那么,為什么我們選擇了ASP.NET Core呢?目前市面上還有很多行業(yè)系統(tǒng)和領(lǐng)域相關(guān)系統(tǒng)都使用著 ASP.NET Webform,市場占比依舊不小。但是我們要考慮一件事情,那就是先行者優(yōu)勢和彎道超車。

      現(xiàn)在的情況是,老的技術(shù)市場已經(jīng)站滿了人,新的技術(shù)市場還空空如也(當(dāng)然,在我發(fā)這篇文章的時候---2020-5-29---asp.net core已經(jīng)不算新了)。如果想入場一個技術(shù),那么最適合的就是學(xué)最新的。

      再者,ASP.NET Core支持跨平臺。最早.net是不支持跨平臺的,后來是Mono 經(jīng)過努力讓.net 開始支持跨平臺。后來微軟提出了跨平臺戰(zhàn)略和物聯(lián)網(wǎng)戰(zhàn)略,才提出正式的跨平臺實(shí)現(xiàn)。

      那么,我想到這里理由還是比較充分了。 

      1.2 為什么是MVC

      MVC也就是Model-View-Controller的簡稱,意思是模型-視圖-控制器。它的通信流程是這樣的:

      • 用戶訪問界面(View),提交請求(包括訪問請求)

      • 界面向控制器(Controller)轉(zhuǎn)送用戶的請求,并進(jìn)行一定程度封裝

      • 控制器(Controller)處理并完成后,以Model的形式返回給View

      • View解析返回的Model,然后繪制界面展示給用戶

      MVC降低了頁面和控制器的耦合,簡單的講就是極大的減少了頁面上的服務(wù)器腳本。另外,增強(qiáng)了頁面復(fù)用。ASP.NET Core MVC 在這一方便進(jìn)一步優(yōu)化了,又減少了不符合HTML格式的標(biāo)簽。

      當(dāng)然,MVC還有更多的好處。不過,最主要的一點(diǎn)就是,MVC可以讓你離那些大佬更近一步(意思就是能讓你獲得一個工作)。 

      2. ASP.NET Core 入門

      在上一節(jié),我胡扯了一堆,說不定打消了很多人的興趣,哈哈,開個玩笑。讓我們正式開始來試試ASP.NET Core。

      1. 先創(chuàng)建一個解決方案:

        dotnet new sln --name AspDemo
      2. 創(chuàng)建一個MVC項(xiàng)目然后加入到解決方案

        dotnet new mvc --name MvcWeb
        dotnet sln add MvcWeb

      這時候,如果不出意外的話,你能在AspDemo目錄下看到如下目錄結(jié)構(gòu):

      ├── AspCoreDemo.sln
      └── MvcWeb
         ├── appsettings.Development.json
         ├── appsettings.json
         ├── Controllers
         │   └── HomeController.cs
         ├── Models
         │   └── ErrorViewModel.cs
         ├── MvcWeb.csproj
         ├── obj
         │   ├── MvcWeb.csproj.nuget.dgspec.json
         │   ├── MvcWeb.csproj.nuget.g.props
         │   ├── MvcWeb.csproj.nuget.g.targets
         │   ├── project.assets.json
         │   └── project.nuget.cache
         ├── Program.cs
         ├── Properties
         │   └── launchSettings.json
         ├── Startup.cs
         ├── Views
         │   ├── Home
         │   │   ├── Index.cshtml
         │   │   └── Privacy.cshtml
         │   ├── Shared
         │   │   ├── Error.cshtml
         │   │   ├── _Layout.cshtml
         │   │   └── _ValidationScriptsPartial.cshtml
         │   ├── _ViewImports.cshtml
         │   └── _ViewStart.cshtml
         └── wwwroot
             ├── css
             │   └── site.css
             ├── favicon.ico
             ├── js
             │   └── site.js
             └── lib
                 ├── bootstrap
                 │   ├── dist
                 │   │   ├── css
                 │   │   │   ├── bootstrap.css
                 │   │   │   ├── bootstrap.css.map
                 │   │   │   ├── bootstrap-grid.css
                 │   │   │   ├── bootstrap-grid.css.map
                 │   │   │   ├── bootstrap-grid.min.css
                 │   │   │   ├── bootstrap-grid.min.css.map
                 │   │   │   ├── bootstrap.min.css
                 │   │   │   ├── bootstrap.min.css.map
                 │   │   │   ├── bootstrap-reboot.css
                 │   │   │   ├── bootstrap-reboot.css.map
                 │   │   │   ├── bootstrap-reboot.min.css
                 │   │   │   └── bootstrap-reboot.min.css.map
                 │   │   └── js
                 │   │       ├── bootstrap.bundle.js
                 │   │       ├── bootstrap.bundle.js.map
                 │   │       ├── bootstrap.bundle.min.js
                 │   │       ├── bootstrap.bundle.min.js.map
                 │   │       ├── bootstrap.js
                 │   │       ├── bootstrap.js.map
                 │   │       ├── bootstrap.min.js
                 │   │       └── bootstrap.min.js.map
                 │   └── LICENSE
                 ├── jquery
                 │   ├── dist
                 │   │   ├── jquery.js
                 │   │   ├── jquery.min.js
                 │   │   └── jquery.min.map
                 │   └── LICENSE.txt
                 ├── jquery-validation
                 │   ├── dist
                 │   │   ├── additional-methods.js
                 │   │   ├── additional-methods.min.js
                 │   │   ├── jquery.validate.js
                 │   │   └── jquery.validate.min.js
                 │   └── LICENSE.md
                 └── jquery-validation-unobtrusive
                     ├── jquery.validate.unobtrusive.js
                     ├── jquery.validate.unobtrusive.min.js
                     └── LICENSE.txt
       

      簡單介紹一下MvcWeb項(xiàng)目中的幾個目錄:

      • Controllers 里存放著控制器,負(fù)責(zé)處理視圖回傳的數(shù)據(jù)

      • Models 里存放著Model層代碼,目錄名稱不強(qiáng)求,也不一定非要在這里

      • Views 存放著視圖路徑,這個是固定名稱

      • wwwroot 用來存放一些js腳本和css樣式表

      • obj 目錄是編譯生成的目錄,暫時不用過多的關(guān)心。

      那么,接下來運(yùn)行一下這個項(xiàng)目看看效果:

      cd MvcWeb
      dotnet run
      # 或者
      dotnet run --porject MvcWeb
       

      如果出現(xiàn)如下內(nèi)容表示項(xiàng)目已經(jīng)啟動完成了:

      asp.net core的發(fā)展歷程是什么

      然后在瀏覽器中輸入:

      http://localhost:5000
       

      然后就能看到如下內(nèi)容:

      asp.net core的發(fā)展歷程是什么

      目前是一個空蕩蕩的項(xiàng)目,不要急,在這個系列之后的文章中我們會繼續(xù)豐富這個項(xiàng)目,讓它的內(nèi)容更加豐富更加符合我們的需要。 

      3. Program.cs

      有沒有覺得這個名字很熟悉?沒錯,我們之前每次演示使用的都是控制臺程序,就有一個Program.cs文件,里面有一個Main方法。我們知道,Main方法是一個程序的入口。之前的Asp.net項(xiàng)目并沒有這個方法,是因?yàn)橹暗捻?xiàng)目都是依托在IIS上。而asp.net core脫離了IIS,使其可以直接運(yùn)行,所以就有一個入口方法。

      代碼應(yīng)當(dāng)如下:

      public class Program
      {
         public static void Main(string[] args)
         {
             CreateHostBuilder(args).Build().Run();
         }

         public static IHostBuilder CreateHostBuilder(string[] args) =>
             Host.CreateDefaultBuilder(args)
             .ConfigureWebHostDefaults(webBuilder =>
             {
                 webBuilder.UseStartup();
             });
      }
         

      3.1 修改端口

      在我們使用的時候,經(jīng)常會出現(xiàn)端口被占用的情況,這時候就需要我們設(shè)置一下端口了。設(shè)置方法如下:

      webBuilder.UseUrls("http://*:5006");
       

      然后重啟項(xiàng)目,就可以發(fā)現(xiàn)端口已經(jīng)發(fā)生改變。 

      4. Setup.cs

      這個類用來配置服務(wù)和應(yīng)用的請求管道。這是一個約定的名稱。初始版本的類文件應(yīng)該是這樣的:

      public class Startup
      {
         public Startup(IConfiguration configuration)
         {
             Configuration = configuration;
         }

         public IConfiguration Configuration { get; }

         // This method gets called by the runtime. Use this method to add services to the container.
         public void ConfigureServices(IServiceCollection services)
         {
             services.AddControllersWithViews();
         }

         // 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");
                 // 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.UseAuthorization();

             app.UseEndpoints(endpoints =>
             {
                 endpoints.MapControllerRoute(
                     name: "default",
                     pattern: "{controller=Home}/{action=Index}/{id?}");
             });
         }
      }

      “asp.net core的發(fā)展歷程是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!


      網(wǎng)頁名稱:asp.netcore的發(fā)展歷程是什么
      鏈接分享:http://www.ef60e0e.cn/article/pogjji.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        弥渡县| 台东县| 天门市| 正安县| 芜湖县| 江达县| 涡阳县| 防城港市| 清苑县| 广德县| 湄潭县| 阳山县| 芦山县| 军事| 武隆县| 黔西| 星座| 望奎县| 扎赉特旗| 宽城| 河曲县| 忻城县| 应城市| 二手房| 敦煌市| 彭泽县| 甘洛县| 象山县| 东海县| 闵行区| 方山县| 新巴尔虎左旗| 阿鲁科尔沁旗| 辽阳市| 屏山县| 苏尼特左旗| 宜兰县| 葫芦岛市| 临海市| 突泉县| 柳林县|