数日前、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)のコンパイルされた形式です。
例リフティング:
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、" / "を){版= 新しいバージョン(2、0)}) 使用(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のコアを管理していました。