
シェア:
ギヨームはVonageのシニア.Netデベロッパー・アドボケイト。.Netで15年近く働いているが、ここ数年はSoftware Craftsmanshipの提唱に注力している。好きなトピックは、コード品質、テスト自動化、モビング、コード・カタなど。仕事以外では、妻や娘と過ごす時間、ワークアウト、ゲームを楽しんでいる。
.NETの暗黙的構成
こんにちは、友人たち、
前回の 前回の投稿で、Vonageクライアントを.NET IoCコンテナ内に登録するプロセスを示しました。これはSDKとのやりとりを簡素化する貴重なステップでした。
さて、少し考えてみよう:これをさらに一歩進めるとしたらどうだろう?
私たちはどこで別れたのか?
ちょっとおさらいしておくと、以前はこうしてクライアントを登録していた:
// Initialize credentials
Credentials credentials = ...
// Register our clients with a 'Transient' lifetime...
builder.Services.AddVonageClientTransient(credentials);
// Or a 'Scoped' lifetime
builder.Services.AddVonageClientScoped(credentials);通常は、ApiKey/ApiSecret のペア、または ApplicationId/PrivateKey のペアから、Credentials インスタンスを初期化する必要がありました。これらの値は多くの場合、設定ファイルから取得するか、Configurationインスタンスから取得します。
私が何を言いたいかわかるだろう?
暗黙の設定ロード
もうそのインスタンスについて Credentialsインスタンスに煩わされることはもうない。さらに、IConfigurationインスタンスを即座に受け入れるようにメソッドを微調整しました。
// Register our clients with a 'Transient' lifetime...
builder.Services.AddVonageClientTransient(builder.Configuration);
// Or a 'Scoped' lifetime
builder.Services.AddVonageClientScoped(builder.Configuration);必要なデータはすべて設定ファイルから直接取得します。
手作業を減らすことができる!
環境固有の設定による拡張
まで v6.9.0までは settings.jsonまたは appsettings.json.これは、例えばステージング環境のデプロイで環境固有の値を使用したい場合に問題となる可能性があります。
お気づきかもしれないが、ローカル設定に基づいたデータのロードについて説明している。どういうことだろう?
コンフィギュレーション・ビルダーにロードしたソースから、重要なコンフィギュレーション値をすべて取得します。例えば appsettings.{environment}.json新しい.NETアプリケーションのデフォルトの命名規則です。
サインオフ
さらなる機能とクオリティ・オブ・ライフの向上にご期待ください。
いつものように、私たちはあなたのフィードバックを大切にしています!GitHub リポジトリで問題を報告したり、改善を提案したり、プルリクエストを投稿してください。質問がある場合は Vonage Developer Slackにご参加ください。
それではまた!