我需要在初始化netHttpBinding(WebSocket)通信时从客户端向服务器发送一些cookie。
如果是基于HTTP的通信,我通过实施IClientMessageInspector
并在Message
方法中添加HttpRequestMessageProperty
属性BeforeSendRequest
来实现相同的目标:
public object BeforeSendRequest(ref Message request, IClientChannel channel)
{
var properties = request.Properties;
var propertyName = HttpRequestMessageProperty.Name;
var httpProperty = properties.ContainsKey(propertyName)
? (HttpRequestMessageProperty)properties[propertyName]
: new HttpRequestMessageProperty();
httpProperty.Headers[HttpRequestHeader.Cookie] = cookie.ToString();
properties[propertyName] = httpProperty;
return null;
}
但是当我使用WebSockets时,我不知道如何实现相同的目标。