91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

asp.net core的發展歷程是什么

發布時間:2021-12-06 14:18:56 來源:億速云 閱讀:257 作者:iii 欄目:大數據

本篇內容介紹了“asp.net core的發展歷程是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

1. ASP.NET Core 介紹

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

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

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

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

從此.net core帶著它的小伙伴 EF Core和ASP.NET Core一路高歌猛進,然后發展成了如今的現狀。

當然,以上內容省略了大量的情節,有興趣的小伙伴可以自行查閱相關資料。這里就不做過多的介紹了,因為篇幅太長了,而且也會偏離主線。

1.1 為什么是 ASP.NET Core

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

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

再者,ASP.NET Core支持跨平臺。最早.net是不支持跨平臺的,后來是Mono 經過努力讓.net 開始支持跨平臺。后來微軟提出了跨平臺戰略和物聯網戰略,才提出正式的跨平臺實現。

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

1.2 為什么是MVC

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

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

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

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

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

MVC降低了頁面和控制器的耦合,簡單的講就是極大的減少了頁面上的服務器腳本。另外,增強了頁面復用。ASP.NET Core MVC 在這一方便進一步優化了,又減少了不符合HTML格式的標簽。

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

2. ASP.NET Core 入門

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

  1. 先創建一個解決方案:

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

    dotnet new mvc --name MvcWeb
    dotnet sln add MvcWeb

這時候,如果不出意外的話,你能在AspDemo目錄下看到如下目錄結構:

├── 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項目中的幾個目錄:

  • Controllers 里存放著控制器,負責處理視圖回傳的數據

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

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

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

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

那么,接下來運行一下這個項目看看效果:

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

如果出現如下內容表示項目已經啟動完成了:

asp.net core的發展歷程是什么

然后在瀏覽器中輸入:

http://localhost:5000
 

然后就能看到如下內容:

asp.net core的發展歷程是什么

目前是一個空蕩蕩的項目,不要急,在這個系列之后的文章中我們會繼續豐富這個項目,讓它的內容更加豐富更加符合我們的需要。 

3. Program.cs

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

代碼應當如下:

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<Startup>();
       });
}
   

3.1 修改端口

在我們使用的時候,經常會出現端口被占用的情況,這時候就需要我們設置一下端口了。設置方法如下:

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

然后重啟項目,就可以發現端口已經發生改變。 

4. Setup.cs

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

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的發展歷程是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

蓬莱市| 清苑县| 和平县| 镇坪县| 满洲里市| 化隆| 延长县| 东源县| 博乐市| 潮安县| 咸丰县| 舟山市| 宾川县| 茌平县| 安溪县| 太白县| 禄劝| 临海市| 通渭县| 承德市| 武陟县| 涪陵区| 阳朔县| 温州市| 金湖县| 湛江市| 莎车县| 视频| 泸定县| 左贡县| 营山县| 来凤县| 嘉祥县| 余江县| 津南区| 精河县| 永城市| 崇文区| 开封县| 加查县| 扎赉特旗|