2013-08-28 13 views
14

Yeni bir .NET 4.0 projesi başlatıyorum ve bir API ile bazı işler yapıyor olacağım. Microsoft HttpClient sınıfını kullanmayı planlıyorum, bu yüzden Microsoft.Net.Http NuGet paketinin en son kararlı sürümünü kurdum (sürüm 2.2.13). Ben de HttpClient için Nuget paketini kullanarak, iş arkadaşı araya bazı POC koduna bakarak ve bunun gibi kod olduğunu fark ediyorum: ProjemdeHttpClient ve ReadAsAsync <T>() uzantı yöntemi

HttpClient client = new HttpClient(); 
HttpResponseMessage response = client.GetAync("/uri").Result; 

DomainType result = response.Content.ReadAsAsync<DomainType>().Result; 

, Microsoft.Net referansı ekledikten sonra. Http paketi, benzer kod yazmaya çalıştığımda, HttpResponseMessage'ın ReadAsAsync<T>() yöntemine sahip olmadığını fark ettim. İş arkadaşımın POC çözümüne biraz kazma yaptıktan sonra, ReadAsAsync<T>(), aslında System.Net.Http.Formatting derlemesinde bir uzantı yöntemidir. Bu POC çözümünde, System.Net.Http.Formatting dosyasına bir başvuru var, ancak bu dosyayı C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies\System.Net.Http.Formatting.dll yolundan çekiyor.

Sorum şu: Bu uzantıya yerel ASP.Net kurulumumdan bu derleme başvurmaktan daha iyi bir çözüm var mı? Benim endişem, bunun, ASP.Net'in kurulu olması pek olası olmadığından CI sunucumuzda bir soruna neden olacağıdır. Sanırım System.Net.Http.Formatting'i çözümümdeki bir Lib dizinine kopyalayabilirim ama umarım başka bir NuGet paketi gibi daha iyi bir seçenek var.

Teşekkürler!

+0

Eğer derlemeyi kullanmak istiyorsanız, (uzantı yöntemi ya da alakasız), bir yol ya da başka bir şekilde başvurmanız ve oluşturduğunuzda dahil edildiğinden emin olmanız gerekir. 'C: \ Program Files ...' yolu, konuşlandırıldığı sunucuda önemli olmamalıdır. –

+0

Doğru, teşekkürler, ancak montaj referanslarının nasıl çalıştığını anlıyorum. C: \ Program Files ... ile ilgili sorun, bu yolun CI sunucumuzda bulunmasının muhtemel olmamasıdır. Gördüğüm kadarıyla, bu derlemeyi çözümümün altında bir Lib dizinine kopyalayabilirim, böylece kaynak kontrolüne eklenir ve çözüm oluşturduğunda CI tarafından alınır ya da tercihen başka bir NuGet paketi bulunur. içindeki montaj. –

cevap

32

WebAPI istemci kitaplıkları paketinin bir parçası budur. Microsoft.AspNet.WebApi.Client nuget paketini yükleyin.

+2

Bu, .NET Core ile çalışır mı? Bu nuget paketini ekledim. Ama hala işe yaramıyor. Bazı kullanım ifadelerini kaçırıyor muyum? – JedatKinports

İlgili konular