HttpWebRequest смешивает тело и заголовки различных запросов на iOS - PullRequest
0 голосов
/ 29 марта 2019

Я использую HttpWebRequest для отправки запросов на iOS.Результат: тело из одного запроса прикреплено к другому запросу.Вот пример кода, который я использую для тестирования:

class Program
{
    static async Task Main(string[] args)
    {
        var uri = new Uri(" http://webdavserver.net/User7bb0de4/" );
        var payload = "content";
        await MakeRequest(uri, payload);
        await MakeRequest(uri, payload);
    }

    private static async System.Threading.Tasks.Task MakeRequest(Uri uri, string payload)
    {
        var firstRequest = WebRequest.Create(uri) as HttpWebRequest;
        firstRequest.Method = "PROPFIND"; // PUT works OK. LOCK, PROPFIND, MKCOL - not
        using (var stream = await firstRequest.GetRequestStreamAsync())
        using (var textWriter = new StreamWriter(stream, System.Text.Encoding.UTF8))
        {
            await textWriter.WriteAsync(payload.ToLower());
        }
    }
}

Результат выполнения вышеуказанного кода на iOS следующий:

  • Первый запрос: не присоединяетсятело (тело пусто).
  • Второй запрос: вместо тела и части заголовков - прикреплено предыдущее тело запроса.

Проблема только в некоторых методах HTTP: LOCK, PROPFIND, MKCOL.PUT работает как положено.

Я что-то не так делаю или это ошибка .NET на iOS?

...