且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

使用 WCF 进行 POX REST 调用时出现双重请求,WebHttpBinding 设置为基本身份验证

更新时间:2023-12-01 09:34:28

所以根据 Remus 的回答,这是我的解决方法

So based on Remus's answer this is my workaround

        public Message SendData(Message requestMessage)
    {
        var channel = CreateChannel();
        Message responseMessage;
        using (new OperationContextScope((IClientChannel)channel))
        {
            WebOperationContext.Current.OutgoingRequest
                .Headers[HttpRequestHeader.Authorization] = "Basic "
                + Convert.ToBase64String(Encoding.ASCII.GetBytes(
                Credentials.UserName.UserName + ":" + Credentials.UserName.Password));
            responseMessage = channel.SendData(requestMessage); 
        }
        return responseMessage;
    }

我只是强迫第一个请求使用基本授权

I'm simply forcing first request to go out with Basic Authorization