問題タブ [refit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 動的ベース アドレスを使用してクライアントを修復する
私は Refit を使用して、現在、構成オプションから単一の BaseAddress を使用してブートストラップされている asp.net コア 2.2 の Typed Client を使用して API を呼び出しています。
構成 json では、次のようになります。
IMyApi インターフェースでは:
現在のサービスの例:
実行時のデータに基づいて、異なる BaseAddresses を使用する必要があります。私の理解では、Refit は HttpClient の単一のインスタンスを DI に追加するため、実行時に BaseAddresses を切り替えても、マルチスレッド アプリでは直接機能しません。今のところ、IMyApi のインスタンスを挿入してインターフェイス メソッド GetQuestionsAsync を呼び出すのは非常に簡単です。その時点で BaseAddress を設定するには遅すぎます。複数の BaseAddresses がある場合、1 つを動的に選択する簡単な方法はありますか?
構成例:
将来のサービスの例:
更新 受け入れられた回答に基づいて、次のようになりました。