如何在Windows服务中调用webservicemethod

本文关键字:调用 webservicemethod 服务 Windows | 更新日期: 2023-09-27 18:06:53

基本上我的想法是开发一个可以在windows上运行的代理

我已经创建了一个运行成功的windows服务应用程序,我已经在windows服务中运行的windows服务应用程序中集成了一个web服务代码。

当客户端点击我的url时如何调用web服务方法?

如何形成可以调用web服务方法来获取方法返回值的url ?

如何在Windows服务中调用webservicemethod

好的,我试着回答。

  • 假设您想呼叫REST web service。你需要什么?A HttpClient和(可能)JSON/XML Serializer。您可以使用内置的.NET类,或者像RestSharp
  • 这样的库。

使用RestSharp调用REST web服务示例

var client = new RestClient("http://example.com");
// client.Authenticator = new HttpBasicAuthenticator(username, password);
var request = new RestRequest("resource/{id}", Method.POST);
request.AddParameter("name", "value"); // adds to POST or URL querystring based on Method
request.AddUrlSegment("id", 123); // replaces matching token in request.Resource
// easily add HTTP Headers
request.AddHeader("header", "value");
// add files to upload (works with compatible verbs)
request.AddFile(path);
// execute the request
RestResponse response = client.Execute(request);
var content = response.Content; // raw content as string
// or automatically deserialize result
// return content type is sniffed but can be explicitly set via RestClient.AddHandler();
RestResponse<Person> response2 = client.Execute<Person>(request);
var name = response2.Data.Name;
// easy async support
client.ExecuteAsync(request, response => {
    Console.WriteLine(response.Content);
});
// async with deserialization
var asyncHandle = client.ExecuteAsync<Person>(request, response => {
    Console.WriteLine(response.Data.Name);
});
// abort the request on demand
asyncHandle.Abort();

你是不需要使用RestSharp,没有。对于简单的情况,HttpWebRequest (+DataContractJsonSerializaer或Xml类似物)将是完美的

  • SOAP web服务吗?按照这里提供的说明操作