asp.Netcoreが簡単に入門できるMVCでOptionsがプロファイルを読み込む
2945 ワード
次の記事では、Bindメソッドによるプロファイルの読み取りについて説明します.
ASP.NET Coreは簡単にBindにアクセスしてプロファイルをC#インスタンスに読み込みます
では、この記事では、前の記事を元に、Optionsメソッドでプロファイルを読み込みます
まずMVCサービスを登録し、MVCルーティングを追加する
MVCを登録する方法は、コンフィギュレーションサービスに追加することです
MVCルーティングを追加する方法はConfigureに追加することです
次に、プロジェクトにControllersフォルダとViewsフォルダを追加し、Controllersフォルダにhomeコントローラを追加します.このファイルに何-"追加-"コントローラを追加します.
MVCコントローラを選択し、そのコントローラにHomeControllersコントローラと命名するには、Controllersで終わる必要があります.
次に、コントローラのIndexメソッドの右クリックメニューを選択し、「ビューの追加」を選択します.チェックしないでください.テンプレートページを使用します.私たちは空のプロジェクトで、テンプレートはありません.
ビューを追加した後、ホームコントローラに戻り、Classインスタンスを追加し、HomeControllerのコンストラクション関数を使用してインスタンスに値を割り当てます.ここでOptionsメソッドが使用されていることに注意してください.
Indexビューに戻り、ファイルの上部にmodelのタイプをClassタイプと指定し、htmlコードで出力します.
最後に、StartUpに戻ります.csはClassの依存注入を行い、注入の方法はConfigureServicesに以下のコードを追加することである.システムはappsettingsを自動的に読み取るからである.jsonの中の情報、その内の具体的な内容は前の文章で紹介しました.
最後に必要なのはRunメソッドはパイプラインをブロックしmvcの正常な動作に影響を与えるためコメントする.
最後に、効果の表示を実行できます.
ホームコントローラでコンストラクション関数を使用してmyClassを導入する必要はありません.Optionsメソッドを使用してClass情報を直接読み込むことができます.ホームコントローラのコンストラクション関数のコードコメントを削除し、IndexメソッドのReturn View(myClass)のmyClassを削除する必要があります.myClassは空です.
次にIndexコントローラで修正したコードは以下の通りです.
プロジェクトの完全なコードGitHubアドレス:https://github.com/liuzhenyulive/BindReader
何か質問があれば、文章の下にコメントしてください.
ASP.NET Coreは簡単にBindにアクセスしてプロファイルをC#インスタンスに読み込みます
では、この記事では、前の記事を元に、Optionsメソッドでプロファイルを読み込みます
まずMVCサービスを登録し、MVCルーティングを追加する
MVCを登録する方法は、コンフィギュレーションサービスに追加することです
services.AddMvc();
MVCルーティングを追加する方法はConfigureに追加することです
app.UseMvcWithDefaultRoute();
次に、プロジェクトにControllersフォルダとViewsフォルダを追加し、Controllersフォルダにhomeコントローラを追加します.このファイルに何-"追加-"コントローラを追加します.
MVCコントローラを選択し、そのコントローラにHomeControllersコントローラと命名するには、Controllersで終わる必要があります.
次に、コントローラのIndexメソッドの右クリックメニューを選択し、「ビューの追加」を選択します.チェックしないでください.テンプレートページを使用します.私たちは空のプロジェクトで、テンプレートはありません.
ビューを追加した後、ホームコントローラに戻り、Classインスタンスを追加し、HomeControllerのコンストラクション関数を使用してインスタンスに値を割り当てます.ここでOptionsメソッドが使用されていることに注意してください.
private Class myClass;
public HomeController(IOptions myClass)
{
this.myClass = myClass.Value;
}
Indexメソッドを変更し、myClassインスタンスをビューに渡します. public IActionResult Index()
{
return View(myClass);
}
Indexビューに戻り、ファイルの上部にmodelのタイプをClassタイプと指定し、htmlコードで出力します.
@model BindReader.Class
@{
Layout = null;
}
Index
@Model.Name
@foreach (var item in Model.Items)
{
@item.Language
@item.Tool
}
最後に、StartUpに戻ります.csはClassの依存注入を行い、注入の方法はConfigureServicesに以下のコードを追加することである.システムはappsettingsを自動的に読み取るからである.jsonの中の情報、その内の具体的な内容は前の文章で紹介しました.
services.Configure(Configuration);
最後に必要なのはRunメソッドはパイプラインをブロックしmvcの正常な動作に影響を与えるためコメントする.
最後に、効果の表示を実行できます.
ホームコントローラでコンストラクション関数を使用してmyClassを導入する必要はありません.Optionsメソッドを使用してClass情報を直接読み込むことができます.ホームコントローラのコンストラクション関数のコードコメントを削除し、IndexメソッドのReturn View(myClass)のmyClassを削除する必要があります.myClassは空です.
次にIndexコントローラで修正したコードは以下の通りです.
@using BindReader
@using Microsoft.Extensions.Options
@inject IOptions classAccess
@{
Layout = null;
}
Index
@classAccess.Value.Name
@foreach (var item in classAccess.Value.Items)
{
@item.Language
@item.Tool
}
プロジェクトの完全なコードGitHubアドレス:https://github.com/liuzhenyulive/BindReader
何か質問があれば、文章の下にコメントしてください.