私は現在、1 つのプロジェクトで次のようなコントローラー メソッドを使用しています。
[HttpGet]
public async Task<IHttpActionResult> GetReport([FromUri] ReportParamiters ReportRequest, CancellationToken cancellationToken)
{…}
ただし、これは、呼び出し元が誰/どこにいるかに応じて、次を使用してパススルー呼び出しを行う別のプロジェクトから呼び出すことができます。
[HttpGet]
public async Task<HttpResponseMessage> GetReport([FromUri] ReportParameters ReportParameters, CancellationToken cancellationToken)
{
using(HttpClient client = this.MessageTransferHelper.BuildJsonHttpClient(Helper.BearerToken(this.Url.Request.Headers.Authorization.ToString())))
{
HttpResponseMessage response =
await
client.GetAsync(this.ConfigurationService.ReportsUrl() + "report1/?DateFrom=" +
ReportParameters.DateFrom.ToString("MM-dd-yyyy") + "&DateTo=" + ReportParameters.DateTo.ToString("MM-dd-yyyy") +
"&valueList=" + String.Join("&valueList=", ReportParameters.Stores.ToArray()));
return response;
2 番目の例は単に URL を作成し、それを最初の例で保持された実際のコントローラーに渡し、結果を返します。これに対する回答を Google で検索しましたが、一致するものが見つかりません。
示されているように、2 番目の例の GET に渡されるキャンセル トークンを作成し、それを (関連する検索情報と共に) 他の GET に渡すことはできますか? (別のリモートサーバーで実行されています)