私は、イントラネット上のクライアントに役立つWeb APIを設定しています。クライアントで作業する開発者の便宜のために、Web APIをクライアントと共有するインターフェイスに準拠させることを検討しています。以下に示すようなものです。ASP.NET Web API:非同期操作の欠点はありますか?
共有インターフェイスを使用する目的は、コンパイル時にクライアント開発者が検出できるWeb APIを変更することとほとんど関係があります。また、クライアントは、Web APIとの通信に使用されるHttpClientインスタンスの周りのラッパーに使用されるインターフェースを利用することができます。
クライアントの開発者は実装時にasync
とawait
を使用したいと思いますが、私は「いいえ」と言いますか?
public interface IValueController
{
Task<string> ReadAsync();
string ReadSync();
}
[Route("api/v1/[controller]")]
public class ValueController : Controller, IValueController
{
[HttpGet("async")]
public Task<string> ReadAsync()
{
return Task.FromResult("async!");
}
[HttpGet("sync")]
public string ReadSync()
{
return "sync!";
}
}
同期メソッドと非同期メソッドの両方を提供することに興味を持っているわけではありません。問題は、Web API操作を非同期として定義するのは面倒ですか?もしそうでなければ、私はオールインに行くよ!
-S
正しく実行していない限り、非同期プログラミングを使用するのは面倒なことはありません。 –
正規表現の問題を解決するようなものは、2つの問題があることを意味しますか? –