我有一个 WCF Web 服务,其中客户端使用了不正确的内容类型。这反过来又会导致错误。
我希望能够在服务器端拦截传入的请求并修复标头,以便可以处理请求。我试图通过实现 IDispatchMessageInspector 并让 AfterReceiveRequest 修改内容类型来做到这一点,如下所示:
public object AfterReceiveRequest(ref Message request, IClientChannel channel, InstanceContext instanceContext)
{
HttpRequestMessageProperty req = (HttpRequestMessageProperty)request.Properties["httpRequest"];
req.Headers.Set(HttpRequestHeader.ContentType, "correct content type");
return null;
}
不幸的是,这似乎不起作用。修改后的内容类型不会被拾取。