从Web服务调用Web API?

时间:2013-10-14 14:14:40

标签: c# asp.net .net web-services

我有我们的合作伙伴使用的遗留代码,这是一个旧的Web服务。我需要通过向外部WebAPI添加调用来集成一些新功能。当我尝试在webservice的cs文件中创建HttpClient时,它会显示以下内容

  

类型或命名空间名称'HttpClient'不存在于   命名空间'System.Net.Http'(您是否缺少程序集引用?)

我在Webservice中创建HttpClient实例时遗漏了一些东西。我在我的cs文件中添加了对System.Net.Http的引用。

更新:这是我的解决方法。我创建了一个新的3.5项目,添加了来自我的旧项目的文件,将其转换为4.5并添加了对System.Net.Http的引用,现在一切都很好。

3 个答案:

答案 0 :(得分:0)

System.Net.Http库仅在.NET 4.5中可用 - 您正在运行哪个版本?

或者,您可以使用所有版本中提供的HttpRequest

答案 1 :(得分:0)

对我来说就像the HttpClient Class wass added in .Net 4.5。您的旧Web服务可能运行旧版本的.Net。您可能希望尝试升级服务,并在可能的情况下将其更改为.Net 4.5。

更新:好的,所以你有一个.Net 4.5项目。您是否确认已添加正确的参考文献?

请注意,包含对System.Net的引用与向System.Net.Http添加一个引用不同。后者在Visual Studio中添加引用时在“ 扩展 ”下找到(而不是在 Framework 下,其中前者被发现)。

更新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

答案 2 :(得分:0)

确保在.NET 4.5中引用System.Net.Http.dll

尝试通过右键单击解决方案资源管理器中的项目手动添加引用,然后在对话框出现时单击“添加引用”,选择最左侧的选项卡滚动列表,直到看到名为System.Net.Http的项目双击它并重建。

并确保您的项目定位.NET 4.5