我正在开发一个 Windows 服务来在我们客户的服务器上运行维护任务,它将结果返回到在我们总部运行的 Web 服务。
我遇到了 Web API 作为通过 HTTP 构建直观 Web 服务的一种新的简单替代方案。所以问题是是否可以在我们总部的 IIS 7 中托管 Web API Web 服务,从多个远程 Windows 服务访问它以返回结果集?
我正在开发一个 Windows 服务来在我们客户的服务器上运行维护任务,它将结果返回到在我们总部运行的 Web 服务。
我遇到了 Web API 作为通过 HTTP 构建直观 Web 服务的一种新的简单替代方案。所以问题是是否可以在我们总部的 IIS 7 中托管 Web API Web 服务,从多个远程 Windows 服务访问它以返回结果集?
是的,这是可能的,asp.net 提供了有关如何执行此操作的具体指导。
原则上,创建您的 web api 项目,然后从客户端执行:
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://mywebapi.mycompany.com/");
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));
var message = new MaintenanceResult { result = resultstatus, server = "servername" };
response = client.PostAsJsonAsync("api/maintenanceresults", message).Result;
// now check for success, and response appropriately