ASP.NET Core MVC WebアプリケーションのパッケージMicrosoft.AspNet.WebApi.Client
を使用して、外部システムへのHTTP呼び出しを可能にしたいと考えています。それは動作しますが、私は.NETコア(github)で対応するソースコードを見つけることができませんでした。 ASP.NETロードマップの観点からこのライブラリを使用するのは大丈夫ですか?今後、ASP.NETコアでサポートされる予定ですか?最も重要なのは、このパッケージはASP.NET Core/.NET Coreの一部として、Windows以外のプラットフォームでもサポートされることでしょうか?ASP.NET CoreアプリケーションからMicrosoft.AspNet.WebApi.Clientを使用できますか?
9
A
答えて
5
私はRESTクライアントのために何をしたのか試すことができます。最近リリースされたASP.Net Core 1.0では、あなたが最新バージョンで言及したアセンブリが動作しないことがわかりました。 "Microsoft.AspNet.WebApi.Client"
の代わりに"System.Net.Http"
を使用してください。
using AvailabilityPricingClient.Core;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using AvailabilityPricingClient.Core.Model;
using System.Net.Http;
using System.Net.Http.Headers;
using Newtonsoft.Json;
namespace AvailabilityPricingClient.Client
{
public class ProductAvailabilityPricing : IProductAvailabilityPricing
{
private HttpClient _client;
public ProductAvailabilityPricing(string apiUrl)
{
_client = new HttpClient();
_client.BaseAddress = new Uri(apiUrl);
_client.DefaultRequestHeaders.Accept.Clear();
_client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
}
public void Dispose()
{
_client.Dispose();
}
public async Task<IEnumerable<Availablity>> GetAvailabilityBySkuList(IEnumerable<string> skuList)
{
var output = JsonConvert.SerializeObject(skuList);
HttpContent contentPost = new StringContent(output, System.Text.Encoding.UTF8, "application/json");
HttpResponseMessage response = _client.PostAsync("/api/availabilityBySkuList", contentPost).Result;
if (response.IsSuccessStatusCode)
{
var avail = await response.Content.ReadAsStringAsync()
.ContinueWith<IEnumerable<Availablity>>(postTask =>
{
return JsonConvert.DeserializeObject<IEnumerable<Availablity>>(postTask.Result);
});
return avail;
}
return null;
}
}
}
あなたは、インターフェイスがあなたの本体のみを変更しません。この方法は:あなたは次のように構築していきます
using AvailabilityPricingClient.Core;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using AvailabilityPricingClient.Core.Model;
using System.Net.Http;
using System.Net.Http.Headers;
namespace AvailabilityPricingClient.Client
{
public class ProductAvailabilityPricing : IProductAvailabilityPricing
{
private HttpClient _client;
public ProductAvailabilityPricing(string apiUrl)
{
_client = new HttpClient();
_client.BaseAddress = new Uri(apiUrl);
_client.DefaultRequestHeaders.Accept.Clear();
_client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
}
public void Dispose()
{
_client.Dispose();
}
public async Task<IEnumerable<Availablity>> GetAvailabilityBySkuList(IEnumerable<string> skuList)
{
HttpResponseMessage response = _client.PostAsJsonAsync("/api/availabilityBySkuList", skuList).Result;
if (response.IsSuccessStatusCode)
{
var avail = await response.Content.ReadAsAsync<IEnumerable<Availablity>>();
return avail;
}
return null;
}
}
}
:次に、あなたがこのようなHTTP POSTリクエストを構築しているだろう
要求コードの変更。
これは私のために働いています....幸運....
関連する問題
- 1. ASP.NET Coreアプリケーションで標準Active Directoryを使用しますか?
- 2. ASP.NET CoreでカスタムModelState検証プロバイダを使用できますか?
- 3. ASP.NET Core 1.0.1はUbuntu/Linuxで使用できませんか?
- 4. Microsoft.AspNet.WebApi.Clientと一緒にravendbクライアントをインストールできますか?
- 5. ASP.NET Core 1アプリケーションでoracle管理対象ドライバを使用できません
- 6. ASP.NET 5 RC1からASP.NET Core RC2へのMVCアプリケーションの更新
- 7. asp.net core rc2でJILを使用することはできますか?
- 8. 1つのポートでWebpackとASP.NET Coreを使用できますか?
- 9. XamarinからAsp.NET CORE Webアプリケーションを認証する
- 10. asp.netアプリケーションからレポートマネージャを開きます
- 11. ASP.NETアプリケーションからOracle 6を使用
- 12. TeamCityを使用してASP.NET Core 1.0アプリケーションをバージョンアップする
- 13. ASP.NET Core 1.0でSignalRを使用する
- 14. ASP.NET InsightとASP.NET Core Webアプリケーションを接続できない
- 15. ASP.NET Core v1.1用のベストクラスライブラリプロジェクトですか?
- 16. ビルドサーバーにASP.NET Core 1.0 RC2アプリケーションを公開できません
- 17. DockerコンテナにASP.NET 5またはASP.NET Core以外の.Netアプリケーションを公開することはできますか?
- 18. DNX(ASP.NET Core RC1)Webアプリケーション - IISでホストできません。
- 19. ASP.NET Coreアプリケーションのルートからの特定の応答を返します
- 20. IISにAngularJSを使用してASP.NET CORE Webアプリケーションを公開
- 21. ASP.NET Coreコントローラを内部で作成できますか?
- 22. Ext CoreでExt.MessageBoxを使用できますか?
- 23. Ceylon M1 NewtonでJava Coreライブラリを使用できますか?
- 24. ASP.NET Coreアプリケーションはどのように構築されますか?
- 25. Asp.net Core Azure Webアプリケーションのログ
- 26. ASP.NET Coreで起動時にデータベースにアクセスできますか?
- 27. codeigniterにcore phpを使用できますか?
- 28. ASP.NET Core 1.0でのローカリゼーションの使用MVC
- 29. ASP.NETコアWebアプリケーション(.NET Core)が見つからないテンプレートがありません
- 30. asp.net-core MVCアプリケーションでDocumentDBが必要
これは大きな質問です。私もその答えに非常に興味があります。 –