私はビジネスレイヤーとしてAsp.NET WebApiを持っています。私はそれを単にビジネスコントローラを呼び出すことによってメソッドと呼んでいます。このような 何か:(しかし、私は、サービス参照のように、このWEBAPIを追加することはできませんよ)WebAPIをASMX Webサービスのようなインスタンスを作成して使用する方法
Business.API.UserController Users = new Business.API.UserController();
Users.GetAllUser();
以前に私はちょうど追加することで、Webサービスのインスタンスを作成することができましたWCF Webサービスで働いていましたそれは「サービス参照の追加」といくつかのエンドポイントの設定を通してです。 私はWebAPIでそれを行うことはできません(私は思う)。私はそれについて多くの記事を読んだことがありますが、そのほとんどはHttpRequestのメソッドと呼ばれていました。このように :
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("http://localhost:38104/");
client.DefaultRequestHeaders.Accept.Clear();
HttpResponseMessage response;
response = await client.GetAsync("api/Weather");
if (response.IsSuccessStatusCode)
{
WeatherClient[] reports = await response.Content.ReadAsAsync<WeatherClient[]>();
}
}
は、私はそれは、Webサービスの使用してとんでもないことだと思います。 私は間違っているか、私に何か問題がありますか?
swagger(WebサービスのAPI記述を生成するもの)を使用して、そのAPI記述からクライアントを生成できるツールを使用できます。 – Evk
あなたのコードで見られる主な問題は、リクエストごとに新しい 'HttpClient'を作成することです。これは共有オブジェクトであるため、サーバー接続を使い果たしません。 – Crowcoder