【发布时间】:2018-12-24 21:20:04
【问题描述】:
我创建了一个继承自 DelegatingHandler 并覆盖 SendAsync 方法的类。在将请求参数传递给主控制器之前,我想验证请求参数并使用 AntiXss 类对其进行编码。因此,我创建了这个。现在,当我通过 SoapUI 调用相应的控制器时,我成功进入了 Async 方法并获取了请求对象。
难度 我无法从我从soap ui 传递的HTTPREQUESTMESSAGE 对象中获取请求参数。以下是请求的快照
代码
protected override System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage> SendAsync(System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken)
{
//Encode here the request object
var requestObj= request.GetQueryNameValuePairs()
.ToDictionary(kv => kv.Key, kv => kv.Value,
StringComparer.OrdinalIgnoreCase);
// work on the request
System.Diagnostics.Trace.WriteLine(request.RequestUri.ToString());
return base.SendAsync(requestObj, cancellationToken)
.ContinueWith(task =>
{
// work on the response
var response = task.Result;
response.Headers.Add("X-Dummy-Header", Guid.NewGuid().ToString());
return response;
});
}
#endregion
}
我只想获取从 HTTPRequestMessage 对象下的 SOAP UI 传递的参数值。但直到现在都没有成功。任何帮助表示赞赏。
【问题讨论】:
标签: asp.net asp.net-mvc-4 asp.net-mvc-5 asp.net-web-api2 asp.net-web-api-routing