web-dev-qa-db-ja.com

Blazor、ASP.NET CoreでホストされるASP.NET Coreとサーバー側

私は実験的なフレームワークであるblazor.Netに手を試しています。

私はすでにこのフレームワークでその小さなプロジェクトを開発しました。

しかし、11月14日にBlazor Language Serviceで最近更新された後、テンプレート選択にowoオプションが表示されています。

enter image description here

最初はBlazor(ASP.NET Core Hosted)です

2番目はBlazor(ASP.NET Coreのサーバー側)

それらの違いに関する情報はありませんが、

これら2つのテンプレートの違いは何ですか、いつどちらを選択する必要がありますか?

14
Tanwer

サーバー側のホスティングモデルでは、BlazorはASP.NET Coreアプリ内からサーバー上で実行されます。 UIの更新、イベント処理、およびJavaScript呼び出しは、SignalR接続を介して処理されます。

クライアント側モデルでは、Blazorアプリ、その依存関係、および.NETランタイムがブラウザーにダウンロードされ、ブラウザーUIスレッドでアプリが直接実行されます。すべてのUIの更新とイベント処理は、同じプロセス内で発生します。

長所と短所– 詳細はこちら

サーバー側のモデルは、最初にリリースする方がリスクが低いと考えられていたため、asp.net 3.0で最初に表示されます。クライアント側は後で来ます。

警告:サポートされているリリースを入手するまで、製品コードで使用しないでください。

10
JohnB

受け入れられた答えは、コメントの1つで言及されたMike-EEEのように尋ねられた質問には答えないと思います。

必要な情報は、このリンクの下にあります。 https://www.telerik.com/blogs/a-breakdown-of-blazor-project-types

Blazor Full-Stackテンプレートには、クライアント側テンプレートと同じプロジェクト構造がいくつか追加されています。クライアント側テンプレートと同様に、サーバーによってレンダリングされるHTMLはなく、すべてのファイルは.NETバイナリを含む静的ファイルとしてクライアントに配信されます。ただし、ASP.NET CoreホスティングとWeb API、および一般的なアプリケーションロジックの共有プロジェクトが追加されています。

このテンプレートには、クライアント側のBlazorアプリケーションBlazor.Client、ASP.NET CoreサーバーアプリケーションBlazor.Server、および一般的なアプリケーションロジックBlazor.Sharedの共有.NET標準プロジェクトの3つのプロジェクトが含まれています。

Blazor Server-Sideプロジェクトテンプレートは、Blazorアプリケーションがどのように配信され、ブラウザと対話するかについて、大幅に異なるアプローチを取ります。サーバー側の設定を使用する場合、BlazorはSignalR JavaScriptアプリケーションをクライアントにデプロイすることにより、ブラウザーを「シンクライアント」として利用します。サーバー上で、BlazorはWebソケットを介してクライアントと通信するSignalRハブを実装します。サーバー側のホスティングモデルでは、BlazorはASP.NET Coreアプリ内からサーバー上で実行されます。 UIの更新、イベント処理、およびJavaScript呼び出しは、SignalR接続を介して処理されます。この構成では、WebAssemblyは不要であり、BlazorはサーバーのASP.NET Coreランタイムで実行されます。 UIの更新はすべて、差分として、Webソケットを介してバイナリパケットとして双方向に送信されます。ユーザーにとって、アプリケーションは他のWebアプリケーションと区別できません。

3