2013-10-14 2 views
0

기존 웹 서비스 인 파트너가 사용하는 레거시 코드가 있습니다. 외부 WebAPI에 호출을 추가하여 새로운 기능을 통합해야합니다. 나는 그것이 다음WebService에서 WebAPI를 호출 하시겠습니까?

형식 또는 네임 스페이스 이름 'HttpClient를'이 네임 스페이스에 존재하지 않습니다라는 웹 서비스의 CS 파일에 HttpClient를 만들려고 할 때 'System.Net.Http'(당신은 누락 어셈블리 참조?)

Webservice에서 HttpClient 인스턴스를 만들 때 뭔가가 누락 되었습니까? 내 cs 파일에 System.Net.Http에 대한 참조가 추가되었습니다.

업데이트 : 이것은 내 해결 방법이었습니다. 새 3.5 프로젝트를 만들고 기존 프로젝트의 파일을 추가하고 4.5로 변환하고 System.Net.Http에 대한 참조를 추가했습니다. 이제 모든 것이 잘됩니다.

+0

.cs 파일의 코드는 무엇입니까? –

+0

@NicholasKing - webservice의 코드는 데이터베이스에서 일부 데이터를 가져 오는 것입니다. 외부 WebAPI에서 일부 데이터를 가져와 표시하기 위해 반환되기 전에 데이터베이스의 데이터와 병합하도록 변경해야합니다. –

+0

문제를 재현 할 수있는 코드를 충분히 보여주십시오! –

답변

0

System.Net.Http 라이브러리는 .NET 4.5에서만 사용할 수 있습니다. 어떤 버전을 실행하고 있습니까?

또는 HttpRequest을 사용할 수 있으며 모든 버전에서 사용할 수 있습니다.

+0

이미 솔루션을 4로 업그레이드했습니다.5 –

+0

@SubratoM 실제로 System.Net.Http에 대한 참조를 프로젝트에 추가 했습니까? 그것은 별도의 dll 파일입니다 ... – James

+0

예. System.Net.Http.Formatting에 대한 참조도 추가했습니다. –

0

the HttpClient Class wass added in .Net 4.5처럼 보입니다. 이전 웹 서비스는 아마도 .Net의 이전 버전을 실행합니다. 가능하면 서비스를 업그레이드하고 .Net 4.5로 변경하려고 할 수 있습니다.

업데이트 : 좋습니다. .Net 4.5 프로젝트가 있습니다. 올바른 참조를 추가했는지 확인 했습니까?

System.Net에 대한 참조를 포함하면 System.Net.Http에 하나를 추가하는 것과 같지 않습니다. 아래에있는 후자의 "확장"Visual Studio에서 (그리고 프레임 워크 전자가 발견, 아래) 참조를 추가 할 때.

업데이트 2 :System.Net.Http 기존 참조를 제거하고 대신 다음 NuGet 패키지를 추가하십시오 :

Install-Package Microsoft.Net.Http 

(참조 : http://www.nuget.org/packages/System.Net.Httphttp://www.nuget.org/packages/Microsoft.Net.Http)

+0

예 이미 3.5에서 4.5로 프로젝트를 변환했습니다. –

+0

@SubratoM 좋습니다. 그런 다음 라이브러리에 대한 참조가 올바르게 포함되어 있으면 라이브러리를 찾아야합니다. 내 업데이트를 참조하십시오. – Kjartan

+0

예 확장명 아래에서 프로젝트에 추가했습니다. (실제로 NuGet 확장 관리 및 Microsoft ASP.NET 웹 API 클라이언트 라이브러리 추가로이 작업을 수행했으며 Microsoft .NET Framework 4 HTTP 클라이언트 라이브러리도 설치했습니다.) –

0

당신이 System.Net.Http.dll를 참조하고 있는지 확인 .NET 4.5에서.

솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 대화 상자가 나타나면 참조 추가를 클릭하여 수동으로 참조를 추가하려고 시도하십시오. 가장 왼쪽 탭 선택 System.Net.Http이라는 항목이 나타날 때까지 목록을 스크롤하고 다시 작성하십시오.

프로젝트가 .NET 4.5을 타겟팅하는지 확인하십시오.

관련 문제