Использование пользовательского значения для HttpMethod
Я использую HttpClient
и мне нужно установить нестандартный тип для HttpMethod
, Где с помощью HttpWebRequest
ожидает только строку, HttpClient
ожидает HttpMethod
, Перечисление доступных значений в HttpMethod
Я не вижу способа добавить пользовательский. Какие-нибудь мысли?
2 ответа
Решение
Не знаю, почему я не думал попробовать это раньше, но я могу позвонить new HttpMethod("MYMETHOD");
Огромное спасибо. Я попробовал самые странные вещи, но я не видел этого простого решения:)
Я пытаюсь использовать CalDAV REST-Requests для соединения с моим ownCloud-CalDAV-сервером в XAML-C#-MetroApp. Работает отлично сейчас. Наконец-то я могу изменить HTTP-метод на PROPFIND-тип.
Вот мой код для получения информации ( http://sabre.io/dav/building-a-caldav-client/).
...
try {
HttpClientHandler httpClientHandler = new HttpClientHandler();
httpClientHandler.AllowAutoRedirect = false;
httpClientHandler.Credentials = new NetworkCredential(caldavuserTB.Text, caldavpasswordTB.Text);
HttpClient httpClient = new HttpClient(httpClientHandler);
httpClient.MaxResponseContentBufferSize = 256000;
propfindMethod = new HttpMethod("PROPFIND");
propfindHttpRequestMessage = new HttpRequestMessage(propfindMethod, webURLAsURI);
propfindHttpRequestMessage.Headers.Add("Prefer", "return-minimal");
propfindHttpRequestMessage.Headers.Add("Depth", "0");
propfindHttpRequestMessage.Headers.Add("Accept", "application/xml; charset=utf-8");
propfindHttpRequestMessage.Content = new StringContent("<d:propfind xmlns:d=\"DAV:\" xmlns:cs=\"http://calendarserver.org/ns/\"><d:prop><d:displayname /><cs:getctag /></d:prop></d:propfind>");
propfindHttpResponseMesage = await httpClient.SendAsync(propfindHttpRequestMessage);
}
...