Я написал приложение WPF, которое отправляет запрос POST WebHTTPRequest службе WCF. Служба требует windows учетных данных для выполнения операций на сервере. Когда служба получает HTTP-запрос, она не может проанализировать заголовок авторизации.
POST-запрос начинается следующим образом.
HttpWebRequest req = WebRequest.CreateHttp(url);
req.ContentType = "application/json;charset=UTF-8";
req.Accept = "application/json";
req.Headers.Add("Authorization", Base64Encode(Details.username + ":" + Details.password + ":" + Details.domain));
req.Method = "POST";
byte[] reqBytes = Encoding.ASCII.GetBytes(body.ToString());
И принимается на службу, подобную этой
IncomingWebRequestContext request = WebOperationContext.Current.IncomingRequest;
WebHeaderCollection headers = request.Headers;
if (headers["Authorization"] != null)
{
cred = headers["Authorization"];
} else
{
HttpContext.Current.Response.Write(result);
return;
}
Я печатаю переменную "cred" в файл журнала, и то, что я получаю, начинается примерно так: "敎 潧 楴 瑡 䥙 䝉 䅺 䝙 䝙", что, совершенно очевидно, неправильно. Кто-нибудь может сказать мне, почему я получаю этот вывод в отличие от ввода, состоящего из символов Engli sh, с которыми я отправил запрос?