#c_sharp #net
Я использую WebClient для авторизации при помощи куки на веб-сервисе. class CookieWebClient : WebClient { public CookieContainer CookieContainer { get; private set; } public CookieWebClient() { this.CookieContainer = new CookieContainer(); } public CookieWebClient(CookieContainer cookieContainer) { this.CookieContainer = cookieContainer; } protected override WebRequest GetWebRequest(Uri address) { var request = base.GetWebRequest(address) as HttpWebRequest; if (request == null) return base.GetWebRequest(address); request.Timeout = 30000; request.CookieContainer = CookieContainer; return request; } } Чем можно заменить этот код, чтобы можно было принять куки и продолжать работать с веб-сервисом, авторизовавшись?
Ответы
Ответ 1
Судя по предыдущему вопросу - у вас есть полный контроль над серверным кодом. И сейчас вы занимаетесь изобретением велосипедов. Незачем вам там использовать Web Api. RESTfull-сервисы хороши только когда у вас есть некий готовый функционал, и вы хотите по-быстрому сделать его доступным для некого JavaScript-кода выполняющегося в веб-браузере. Для бизнес-приложений он не подходит, и применяться там не будет никогда. Такова его специфика. Для CF всегда лучше всегда использовать WCF-сервисы(SOAP), вместо Web Api. Там авторизация из коробки, все вызовы строго типизированы, внятная обработка исключений. Ну и просто приятней когда можно нажать в студии правой кнопкой на проекте, выбрать "Add Web Service", вбить url конечной точки, а всё остальное студия сделает за вас. Вопрос об отсутствующем WebClient отпадет сам по себе.
Комментариев нет:
Отправить комментарий