我正在使用SOAP over Http设置一个使用自定义身份验证的WCF服务。我有一个IClientMessageInspector
实现,应该在消息的http标头中设置授权字符串以及日期。奇怪的是,授权标头设置正确,但检查请求服务器端显示没有设置日期标题。
相关代码是:
public object BeforeSendRequest(ref Message request, IClientChannel channel)
{
var httpRequestMessage = (HttpRequestMessageProperty)request.Properties["httpRequest"];
httpRequestMessage.Headers.Add(System.Net.HttpRequestHeader.Date, DateTimeOffset.UtcNow.ToString());
var authorisationValue = _userName + ":" + GenerateAuthorisationString();
httpRequestMessage.Headers.Add(System.Net.HttpRequestHeader.Authorization, authorisationValue);
return null;
}
有人能发现我做错了什么,或者有其他方法可以添加日期标题吗?