Я пытаюсь создать службу и клиент REST, и мне нужно отправить некоторую информацию об авторизации через HTTP-запрос.Однако заголовок авторизации становится пустым, когда я проверяю его на сервере.Это лучшее, что я получил на клиентском коде:
WebChannelFactory<IAdminService> cf =
new WebChannelFactory<IAdminService>(agency.Value);
cf.Credentials.UserName.UserName = "admin";
cf.Credentials.UserName.Password = "passw0rd";
IAdminService channel = cf.CreateChannel();
List<Car> cars = channel.GetCars();
А это служебный код, пытающийся проверить заголовок, но он пуст:
[WebGet(UriTemplate = "cars")]
[OperationContract]
Cars GetCars()
{
WebOperationContext ctx = WebOperationContext.Current;
string authHeader = ctx.IncomingRequest.Headers[HttpRequestHeader.Authorization];
Console.WriteLine("authHeader={0}", authHeader);
if (authHeader == null)
{
WebOperationContext.Current.OutgoingResponse.StatusCode = HttpStatusCode.Unauthorized;
return new Cars();
}
return CarDatabase.Instance.GetCars();
}
Любая помощь в том, чтоЯ скучаю по оценкам.(Пока не нужно ничего шифровать, просто отправьте «admin» и «passw0rd» в нужное место)