当前位置: 首页 > 编程语言 > C#

如何从Windows服务调用WebAPI分享

时间:2023-04-10 22:14:15 C#

如何从Windows服务调用WebAPI我有一个用WindowsService写的应用程序,需要调用用Asp.NetMVC4WebAPI写的WebAPI。WebAPI中的此方法返回具有基本类型的DTO,例如:classImportResultDTO{publicboolSuccess{get;放;}publicstring[]Messages{get;放;在我的webapi中publicImportResultDTOGet(intclientId){//process..并创建dto结果。返回数据;我的问题是,如何从Windows服务调用webApi?我有我的URL和参数值,但我不知道如何调用以及如何将xml结果反序列化为DTO。谢谢您可以使用System.Net.Http.HttpClient。您显然需要在下面的示例中编辑伪造的基地址和请求URI,但这也显示了检查响应状态的基本方法。//创建一个HttpClient实例HttpClientclient=newHttpClient();client.BaseAddress=newUri("http://localhost:8888/");//使用HttpResponseMessageresponse=client.GetAsync("api/importresults/1").Result;如果(response.IsSuccessStatusCode){vardto=response.Content.ReadAsAsync().Result;}else{Console.WriteLine("{0}({1})",(int)response.StatusCode,response.ReasonPhrase);您可以将此NuGet包MicrosoftASP.NETWebAPI客户端库安装到您的Windows服务项目中。下面是演示如何使用HttpClient的简单代码片段:varclient=newHttpClient();varresponse=client.GetAsync(uriOfYourService).Result;varcontent=response.Content.ReadAsAsync().Result;(为简单起见,我在这里调用.Result()...)有关HttpClient的更多示例,请查看:ASP.NETWebAPI和HttpClient示例列表。以上就是《C#学习教程:如何从Windows服务调用WebAPI》的全部内容分享。如果对你有用,需要进一步了解《C#学习教程》,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权请点击右侧联系管理员删除。如需转载请注明出处: