Récupération des HEADER Html dans une request REST/WCF
Par Thierry THOUA le lundi, mai 16 2011, 20:58 - WCF - Lien permanent
Ce petit post pour expliquer comment récupérer le UserAgent ou le host dans un behavior WCF lorsque l'on utilise en mode REST. Les headers du Message ne sont pas les headers http envoyés par le client.
Il est cependant très facile de les voir en attaquant les properties comme nous le faisons dans la méthode GetHttpRequestMessage.
public class MyCustomDispatcher : IDispatchMessageInspector { public object AfterReceiveRequest(ref Message request, IClientChannel channel, InstanceContext instanceContext) { HttpRequestMessageProperty requestProperty = GetHttpRequestMessage(request); var userAgent = requestProperty.Headers["User-Agent"]; var host = requestProperty.Headers["host"]; return null; } public void BeforeSendReply(ref Message reply, object correlationState) { } private static HttpRequestMessageProperty GetHttpRequestMessage(Message requestMessage) { return (HttpRequestMessageProperty)requestMessage.Properties[HttpRequestMessageProperty.Name]; } }

