【发布时间】:2014-12-06 15:54:20
【问题描述】:
我需要修改请求的内容以替换一些字符(因为一些 unicode 问题)。以前(在 ASP.NET MVC 中),我使用 HttpModules;但在 WebApi 中,似乎我应该 DelegatingHandler 但它完全不同。
如何在 SendAsync 方法中修改request.Content?我需要这样的东西:
protected async override Task<HttpResponseMessage> SendAsync(
HttpRequestMessage request, CancellationToken cancellationToken)
{
var s = await request.Content.ReadAsStringAsync();
// do some modification on "s"
s= s.replace("x","y");
request.Content = new StringContent(s);
var response = await base.SendAsync(request, cancellationToken);
return response;
}
在上面的代码中,我认为我应该检查请求的内容type,然后再决定要做什么。如果是,我应该做哪些检查?
【问题讨论】:
标签: asp.net-web-api httpmodule