Я использую следующий код, чтобы вызвать некоторые http api < /p>
public static async Task ProcessWebRequest(string url, T req, ILog Logger, int timeoutInSeconds = 0)
{
var obj = new GenerricApiResponse();
try
{
using (var client = new HttpClient())
{
var jsonRequest = JsonSerializer.Serialize(req);
client.DefaultRequestHeaders.ExpectContinue = false;
var content = new StringContent(jsonRequest);
content.Headers.Clear();
content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
if (timeoutInSeconds > 0)
{
client.Timeout = new TimeSpan(0, 0, timeoutInSeconds);
}
var response = await client.PostAsync(url, content);
obj.HttpResponseCode = response.StatusCode;
try
{
string responsecontent = null;
responsecontent = response.Content.ReadAsStringAsync().Result;
if (response.Content != null && response.Content.Headers != null)
{
obj.ResponseContentType = response.Content.Headers.ContentType.MediaType;
if (responsecontent != null && obj.ResponseContentType == "text/html")
{
if (responsecontent != null && responsecontent.Length > 1000)
{
responsecontent = responsecontent.Substring(0, 1000) + "...";
}
}
}
obj.Response = responsecontent;
}
catch
{
obj.IsError = true;
}
}
}
catch (Exception ex)
{
if (ex.InnerException is TimeoutException)
{
ex = ex.InnerException;
}
obj.IsError = true;
obj.Exception = ex;
obj.Response = ex.Message;
}
return obj;
}
< /code>
Но получить ошибку < /p>
system.net.http.httprequestexception: ошибка при копировании контента в потоку. ---> System.io.ioException: ответ завершился преждевременно. Даже я прошел 90 секунд как тайм -аут, но без эффекта.
странно это время, это было сработало < /p>
Подробнее здесь: https://stackoverflow.com/questions/602 ... o-a-stream
System.net.http.httprequestexception: ошибка при копировании контента в поток. ---> System.io.ioException: ответ закончи ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
System.Net.Http.HttpRequestException Ошибка при копировании содержимого в поток
Anonymous » » в форуме C# - 0 Ответы
- 22 Просмотры
-
Последнее сообщение Anonymous
-
-
-
System.net.http.httprequestexception: «Получил неверную строку статуса:« http/2 200 '. ».
Anonymous » » в форуме C# - 0 Ответы
- 11 Просмотры
-
Последнее сообщение Anonymous
-