据我所知,.NET 生成的代理不会提供您想要的 Web 请求对象。但是您可以自己创建一个简单的代理来存储请求信息,然后使用 .NET 代理(或 SoapHttpClientProtocol 类)来发出 Web 请求。以下是示例模板代码:
public class MyRequest
{
public MyRequest(string methodName, params object[] parameters)
{
this.MethodName = methodName;
this.Parameters = parameters;
}
public string MethodName { get; set; }
public object[] Parameters { get; set; }
public object[] Response {get; set;}
}
public class MyProxy : dotNetGeneratedServiceProxy
{
List<MyRequest> Requests { get; set; }
public void QueueMethod1(int param1, string param2)
{
Requests.Add(new MyRequest("Method1", param1, param2));
}
public void QueueMethod2(string param1)
{
Requests.Add(new MyRequest("Method2", param1));
}
public void RunAllRequests()
{
foreach (var request in Requests)
{
var result = this.Invoke(request.MethodName, request.Parameters);
}
}
}
希望这会给你一个想法。