【问题标题】:ASP.NET Web API HttpClient on 3.5 or 2.0 application?3.5 或 2.0 应用程序上的 ASP.NET Web API HttpClient?
【发布时间】:2012-08-29 08:41:22
【问题描述】:
我喜欢 ASP.NET Web API 中的 HttpClient。我可以在 3.5 或 2.0 中使用它吗?我的意思是在 4.0 之前的任何 .NET Framework 应用程序版本中。实际上,我在 ASP.NET 4.0 中有一个 ASP.NET Web API 应用程序。我需要从内置 3.5 框架的设备中使用此应用程序。我知道我可以使用 WebClient/WebRequest,但是如果我可以使用 HttpClient 的东西那就太好了。
【问题讨论】:
标签:
asp.net-mvc
httpclient
asp.net-web-api
【解决方案1】:
根据this,
WebAPI 需要 .net 4。您不能在 .net 3.5(无论是否为 sp1)上使用它。
您也不能像您一样将预览版用于生产代码
没有“上线”许可证,所以即使你可以让它工作,
这不合法。您至少需要使用 ASP.NET WebAPI Beta
获得上线许可证。
根据this,
HttpClient 库最初是在“WCF REST
Starter Kit”项目中引入的,因此您可以从那里下载。这个项目
不再受支持(它的大部分功能要么
进入框架或现在是 Web API 项目的一部分),但是
那里的 HttpClient 工作得很好。
【解决方案2】:
理想情况下,您的 HttpClient 项目应该与您的服务项目完全分开。我会将服务项目保持在 2.0 或 3.5 中,并使用 HttpClient 创建一个 4.0 项目并进行 HTTP 调用。
这里唯一的小问题是隐式模型绑定。在这里,您可以使用模型 dll 或使用 4.0 客户端项目中的 3.5 模型类。但是 JsonObject 绑定也应该可以无缝地用于 json resonses。