.NETのコア3.0とASP.NETコア3.0プレビュー

数日前、Microsoftは.NETのコア3.0最終版のプレビューです.NETのコア3.0プレビュー9をリリース。

.NETのコア3.0正式リリースは、.NETコンファレンスに掲載され、.NET confの時間9月25から23です。

Macの8.3用のVisual Studio 2019 16.3プレビュー3およびVisual Studioは、これらのバージョンもリリースされ、.NETのコア3.0をサポートしています。

.NETのコア3.0プレビュー7は、生産に使用することができることから、公式サイトでは、.NETのコア3.0.0-preview9-19423-09を搭載DOTNET https://dotnet.microsoft.com/を使用することです。

公園はまた、他の日は、現在、良いと考え実行すると、.NETのコア3.0プレビュー8にアップグレードするブログ。

ここでは、.NETのコア3.0の新機能の実際の経験。

.NETのコア3.0

System.Text.Json

例:

    パブリック クラス
    { 
        公共の 文字列のFirstName { 取得しますセット; }
         パブリック 文字列氏名{ 得ますセット; }
         公共のDateTime?誕生日{ 取得しますセット; } 
    } 
    // 转成对象
    文字列のjson = ... 
    人の人 = JsonSerializer.Parse <人> (JSON)。
    
    // 转成JSON字符串 
    人の人= ...
     文字列のjson = JsonSerializer.ToString(人)。

.NET標準2.1

目標として、.NETの標準2.1に、あなたはnetstandard2.1にプロジェクトファイルとTargetFrameworkプロパティを編集する必要があります。.NET Frameworkは.NET標準2.1をサポートしていません。

<プロジェクトSDK = " Microsoft.NET.Sdk " > 
 
  <PropertyGroup> 
    <TargetFramework> netstandard2。1 </ TargetFramework> 
  </ PropertyGroup> 
 
</プロジェクト>

 

Microsoft.Data.SqlClient

Microsoft.Data.SqlClientは、Microsoft SQL Serverデータ・プロバイダです。

これは、.NET Frameworkおよび.NETコアに独立して存在System.Data.SqlClientの二つの成分の和集合です。

最新バージョンをインストールします。

インストール・パッケージMicrosoft.Data.SqlClient 

https://github.com/dotnet/SqlClient 

単一のプログラムとしてリリース

PublishSingleFile =真:DOTNETは-r win10-x64の/ Pを公開します

アルパインドッカー画像

ARM64上の.NET CoreおよびASP.NETコア

ドッキングウィンドウプルmcr.microsoft.com/dotnet/core/runtime:3.0-alpine-arm64v8 

ドッキングウィンドウプルmcr.microsoft.com/dotnet/core/aspnet:3.0-alpine-arm64v8

DOTNET-カウンター

安装:DOTNETツールは、--global DOTNET-カウンターは3.0.0-preview8.19412.1を--versionインストール

使用例:

すべての情報を表示します

DOTNET-カウンタは--process-ID 1902 System.Runtimeを監視します

CPUの使用率と異常GCの数を表示します

DOTNET-カウンタは--process-IDを監視1902 System.Runtime [CPU使用頻度、GC-ヒープサイズ、例外カウント]

公式文書ます。https://github.com/dotnet/diagnostics/blob/master/documentation/dotnet-counters-instructions.md

ReadyToRun

あなたは、起動時間の.NET Coreアプリケーションを短縮するReadyToRun(R2R)フォーマットとしてコンパイルすることでアプリケーションを設定することができます。R2Rは、事前(AOT)のコンパイルされた形式です。

例リフティング:

ILのアプリケーションのみ:

開始時間:1.9秒
メモリ使用量:69.1メガバイト
アプリケーションサイズ:150メガバイト
ReadyToRunイメージを使用します。

1.3秒:時間を開始します。
メモリ使用量:55.7メガバイト
アプリケーションサイズ:156メガバイト

ReadyToRunを有効にするには、以下をコンパイルする必要があります。

PublishReadyToRunプロパティがtrueに設定されています。明示的なリリースRuntimeIdentifierを使用してください。

<プロジェクトSDK = " Microsoft.NET.Sdk " > 
  <PropertyGroup> 
    <OUTPUTTYPE>エグゼ</ OUTPUTTYPE> 
    <TargetFramework> netcoreapp3。0 </ TargetFramework> 
    <PublishReadyToRun>  </ PublishReadyToRun> 
  </ PropertyGroup> 
</プロジェクト>

 

DOTNETは-r勝利-x64の-cリリースを公開します

ReadyToRunコンパイラは、現在のクロス場所をサポートしていません。私たちは、与えられたターゲット上でコンパイルする必要があります。あなたは、Windows x64のR2Rプログラムをしたい場合たとえば、あなたはその環境でパブリッシュコマンドを実行する必要があります。

リンカ

プログラムサイズを使用してILリンカーは28メガバイト約68メガバイトの程度から減少させることができます

DOTNETはリリース/ P -c -r win10-x64のを公開:PublishTrimmed =真/ P:PublishSingleFile =真

HttpClientをサポートしてHTTP / 2

使用例:

VaRのクライアント= 新しい HttpClientを(){BASEADDRESS = 新しいウリ(" https://ではlocalhost:5001 " )};
// HTTP / 1.1リクエスト
使用VARの応答が= 待つ client.GetAsyncを(" / " ))
{ 
    Console.WriteLineを(response.Content)。
} 
// HTTP / 2要求を
使用してVARの要求= 新しい HttpRequestMessage(HttpMethod.Get、" / "を){版= 新しいバージョン(20)})
 使用VARの応答= 待つclient.SendAsync(リクエスト))
{ 
    Console.WriteLineを(response.Content)。
}

 

ASP.NETコア3.0

以前も紹介ASP.NETコア3.0プレビュー経験

ASP.NETコア3.0メジャーアップデートまたはBlazorとgRPC

BLAZE

Blazorは、クライアントのインタラクティブなWeb UIを生成するために、.NETフレームワークを使用しています:

  • C#の代わりにJavaScriptを使用してリッチインタラクティブなUIを作成します。
  • サーバ側とクライアント側のアプリケーションロジックを記述するために共用.NET。
  • UIは、モバイルブラウザを含む多くのブラウザをサポートして、HTMLやCSSとしてレンダリングされます。

.NETクライアント・サイドのWeb開発を使用すると、次のような利点があります。

  • 代わりに、コードを書くためにはJavaScriptを使用してのC#の。
  • 既存の.NETライブラリのエコシステムの使用。
  • アプリケーションロジックは、サーバとクライアントの間で共有しました。
  • .NETのパフォーマンス、信頼性、およびセキュリティを利用できます。
  • Windows、Linux、およびMacOSで常に効率的なサポートのVisual Studio。
  • 安定した、機能豊富なおよび基礎を生成するために、共通言語、フレームワークやツールを使いやすいのセット。

Blazorベースのアプリケーションコンポーネント。 成分Blazor UI要素は、例えば、ページ、ダイアログボックス、またはデータ入力フォームを指します。

カミソリコンポーネントクラスは、通常、ページ(ファイル拡張子.razor)フォームをマークするために書かれました。 Blazorアセンブリは時々カミソリアセンブリを参照します。

カミソリのマークアップは、コンポーネントを示しています。

<div> 
    <H1> @Title </ H1> 

    @ChildContent

     <ボタンのonclick @ = " OnYes "!>はい</ボタン> 
</ div>の

@code { 
    [パラメータ] 
    パブリック 文字列のタイトル{ 取得しますセット; } 

    [パラメータ] 
    パブリック RenderFragment ChildContent { 得ますセット; } 

    プライベート 無効OnYes()
    { 
        Console.WriteLineを(" C#でコンソールに書く'はい'ボタンをselected.From LineZeroでした!" ); 
    }

ダイアログテキストコンテンツ(ChildContent)とヘッダ(TitleこのコンポーネントのUIコンポーネントを使用することによって)。 OnYes ボタンで  onclick イベントをトリガするのC#の方法。

UIの自然な構成を使用してBlazor HTMLタグ。 HTMLコンポーネントを指定した要素、及び特徴マークは、コンポーネントのプロパティに値を渡します。

以下の実施例でIndex の構成要素は、上記で使用される  Dialog 部品。

@page " / "
 
<H1>こんにちは、世界!</ H1> 

あなたへようこそ新しいアプリ。

<ダイアログのタイトル= " Blazor " > 
    あなたはしますか <i>はBlazorについて</ i>の詳細を学びますか?
   LineZeroから
</ダイアログ>

その他の公式説明します。https:?//Docs.microsoft.com/zh-cn/aspnet/core/blazor/get-startedビュー= aspnetcore-3.0&タブ=視覚スタジオ

gRPC

gRPCの主な利点は以下のとおりです。

  • 現代の高性能軽量RPCフレームワーク。
  • 優先順位のAPIの開発契約、デフォルトのプロトコルバッファは、言語とは何の関係も可能にしません。
  • 多言語ツールは、強力なタイプのサーバーとクライアントを生成するために使用することができます。
  • サポートクライアント、サーバ、および双方向のストリーミングコール。
  • バイナリシリアル化を使用しているProtobufは、ネットワークの使用を減らします。

これらの利点はgRPCを適用します:

  • 効率は非常に重要軽量マイクロサービスです。
  • ポリグロットは、多言語システム開発のために必要。
  • リアルタイムサービスを処理する要求または応答に対処するためのストリーミングポイント。

現在のところ、公式gRPCで導入されたC#で実装されますが、現在の実装では、C(gRPC C-コア)で書かれたネイティブライブラリに依存しているが。 

現在gRPCケストレルHTTPサーバベース達成され、完全にASP.NETのコアを管理していました。

おすすめ

転載: www.cnblogs.com/linezero/p/netcore3andaspnetcore3.html