真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

從ASP.NETCore2.2到3.0你會(huì)遇到什么問(wèn)題-創(chuàng)新互聯(lián)

這篇文章主要介紹了從ASP.NET Core2.2到3.0你會(huì)遇到什么問(wèn)題,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

公司主營(yíng)業(yè)務(wù):網(wǎng)站建設(shè)、成都網(wǎng)站制作、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。創(chuàng)新互聯(lián)推出鄱陽(yáng)免費(fèi)做網(wǎng)站回饋大家。

我遇到的問(wèn)題

ASP.NET Core2.0時(shí)代,若要為項(xiàng)目添加 EF Core 支持,需要安裝相應(yīng)的數(shù)據(jù)庫(kù)驅(qū)動(dòng)包。 教程中使用 SQL Server,相關(guān)驅(qū)動(dòng)包Microsoft.EntityFrameworkCore.SqlServer。 此包包含在 Microsoft.AspNetCore.App 元包中,因此,如果應(yīng)用具有對(duì) Microsoft.AspNetCore.App 包的包引用,則無(wú)需引用該包。而2.0中的模板項(xiàng)目會(huì)自動(dòng)為我們加載Mcrosoft.AspNetCore.App這個(gè)包的。但是3.0中沒(méi)有了這個(gè)Mcrosoft.AspNetCore.App這個(gè)包,模塊化的更徹底了!所需要的EF相關(guān)的包需要你自己來(lái)進(jìn)行引用。

2.0升3.0升級(jí)指南

就著今天遇到的問(wèn)題,所以我整理下ASP.NET Core從2.0升級(jí)3.0的一個(gè)升級(jí)指南,希望對(duì)大伙有所幫助,當(dāng)然大伙也可以直接閱讀微軟的官方文檔進(jìn)行查看。但是我在閱讀官方說(shuō)明的時(shí)候,總感覺(jué)翻譯的不是很準(zhǔn)確,讀起來(lái)很拗口,所以這里我是自己的理解對(duì)官方文檔的一個(gè)補(bǔ)充。

更新項(xiàng)目文件

設(shè)置TargetFramework到netcoreapp3.0:

netcoreapp3.0

刪除Microsoft.AspNetCore.All或Microsoft.AspNetCore.App元包的任何。

元素中剩余的Microsoft.AspNetCore.*程序包更新到當(dāng)前的預(yù)覽版中 (例如,3.0.0-preview3.19128.7)。

如果沒(méi)有對(duì)應(yīng)的 3.0 版本的包,則說(shuō)明包可能會(huì)在 3.0 中棄用。 其中許多之前都屬于Microsoft.AspNetCore.App并且不需要單獨(dú)引用的包,如上面我遇到的問(wèn)題,關(guān)于SQL Server的EF相關(guān)的包。 具體的不再在 3.0 中生成的包的列表,請(qǐng)參閱aspnet/AspNetCore #3756。

某些程序集已從2.x和3.0之間的Microsoft.aspnetcore.app中刪除。如果您正在使用aspnet/AspNetCore #3755中列出的包中的API,則可能需要單獨(dú)添加到。

例如,Microsoft.EntityFrameworkCore和System.Data.SqlClient不再屬于Microsoft.AspNetCore.App得一部分。 Microsoft.aspnetcore.app中的程序集列表尚未定稿,將在3.0 RTM之前更改。

添加Json.NET 支持。

項(xiàng)目默認(rèn)為 ASP.NET Core 3.0 或更高版本設(shè)置為進(jìn)程內(nèi)承載模型。 當(dāng)然,如果其值為InProcess您還可以通過(guò)刪除元素,來(lái)進(jìn)行修改。

作為提高ASP.NET Core 共享的框架工作的一部分,Json.NET已從 ASP.NET Core 共享框架中刪除。

若要在 ASP.NET Core 3.0 項(xiàng)目中使用 Json.NET:

添加到包引用Microsoft.AspNetCore.Mvc.NewtonsoftJson

更新ConfigureServices調(diào)用AddNewtonsoftJson()。

services.AddMvc()
 .AddNewtonsoftJson();

Newtonsoft 的個(gè)性化設(shè)置可以設(shè)置為AddNewtonsoftJson:

services.AddMvc()
 .AddNewtonsoftJson(options =>
   options.SerializerSettings.ContractResolver =
    new CamelCasePropertyNamesContractResolver());

HostBuilder 替換 WebHostBuilder

使用 ASP.NET Core 3.0 模板泛型宿主。 早期版本使用Web 主機(jī)。 下面的代碼顯示了生成 ASP.NET Core 3.0 模板Program類(lèi):

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

下面的代碼演示模板生成 ASP.NET Core 2.2Program類(lèi):

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

 public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
  WebHost.CreateDefaultBuilder(args)
   .UseStartup();
}

IWebHostBuilder 將保留在 3.0,是一種webBuilder上面的代碼示例所示。 WebHostBuilder 將在未來(lái)版本中棄用并替換為HostBuilder。

從WebHostBuilder到HostBuilder最顯著的變化是依賴(lài)關(guān)系注入 (DI)。 使用時(shí)HostBuilder,只能將IConfiguration并IHostingEnvironment注入到Startup的構(gòu)造函數(shù)中。 HostBuilder DI 約束:

  1. 使DI容器只能構(gòu)建一次。

  2. 避免產(chǎn)生的對(duì)象生存期問(wèn)題,例如解決多個(gè)單例實(shí)例。


更新 SignalR 代碼

如果您調(diào)用AddJsonProtocol,將其替換為AddNewtonsoftJsonProtocol。

以下示例顯示更改前后的服務(wù)器代碼:

services.AddSignalR(...)
  .AddJsonProtocol(...) // 2.2
services.AddSignalR(...)
  .AddNewtonsoftJsonProtocol(...) // 3.0

以下示例顯示更改前后的.NET客戶端代碼:

connection = new HubConnectionBuilder()
 .WithUrl(...)
 .AddJsonProtocol(...) // 2.2
 .Build()
connection = new HubConnectionBuilder()
 .WithUrl(...)
 .AddNewtonsoftJsonProtocol(...) // 3.0
 .Build()

選擇啟用運(yùn)行時(shí)編譯

在 3.0 中,運(yùn)行時(shí)編譯是可選的方案。 若要啟用運(yùn)行時(shí)編譯,請(qǐng)參閱ASP.NET Core 中的 Razor 文件編譯。

總結(jié)

感覺(jué)微軟在努力實(shí)現(xiàn)ASP.NET Core的模塊化,減小各種依賴(lài),讓包變得更小。同時(shí)ASP.NET Core也已經(jīng)很完善了,大伙是時(shí)候用起來(lái)ASP.NET Core了。另外需要說(shuō)明的一點(diǎn)是,大伙如果是為了體驗(yàn)ASP.NET Core3.0的話,現(xiàn)在就可以,如果是用在生產(chǎn)環(huán)境的話好還是等待正式版的發(fā)布吧。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“從ASP.NET Core2.2到3.0你會(huì)遇到什么問(wèn)題”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!


文章題目:從ASP.NETCore2.2到3.0你會(huì)遇到什么問(wèn)題-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://weahome.cn/article/diihcd.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部