|
asp.net core 3.1 HttpClient Error while copying content to a stream.
|
|||
---|---|---|---|
#18+
алгоритм такой, был древний файловый сервер (получение и отправка файлов), потом появился веб проект и надо их подружить, но при пост запросе, если в содержимом файл, то получаю ошибку Error while copying content to a stream. Второй день не могу побороть Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 10:32 |
|
asp.net core 3.1 HttpClient Error while copying content to a stream.
|
|||
---|---|---|---|
#18+
c областью действия ваших using разберитесь, скобки явно не там ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 11:34 |
|
asp.net core 3.1 HttpClient Error while copying content to a stream.
|
|||
---|---|---|---|
#18+
я чистил код в редакторе форума, видимо, одну удалил, не критично для понимания кода ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 11:43 |
|
asp.net core 3.1 HttpClient Error while copying content to a stream.
|
|||
---|---|---|---|
#18+
ther Код: c# 1.
Вот такое в ASP.NET приложении делать вообще ни в коем случае нельзя! Читаем вот тут про это и еще про вот это . ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 12:19 |
|
asp.net core 3.1 HttpClient Error while copying content to a stream.
|
|||
---|---|---|---|
#18+
fkthat Ну почему нельзя. Можно, но рекомендуется использовать фабрику. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 12:32 |
|
asp.net core 3.1 HttpClient Error while copying content to a stream.
|
|||
---|---|---|---|
#18+
ther Код: c# 1. 2. 3.
В этом не намного больше пользы, чем от вообще пустого catch. Напиши нормальный обработчик - тогда ты сразу будешь видеть из-за чего у тебя ошибка возникает, и твоя ли она, или сервера. А не просто "Error while copying content to a stream." ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 12:42 |
|
asp.net core 3.1 HttpClient Error while copying content to a stream.
|
|||
---|---|---|---|
#18+
hVostt Ну почему нельзя. Потому что нельзя - прими как есть ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 12:44 |
|
asp.net core 3.1 HttpClient Error while copying content to a stream.
|
|||
---|---|---|---|
#18+
fkthat hVostt Ну почему нельзя. Потому что нельзя - прими как есть Да ладно, это же работает ) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 13:04 |
|
asp.net core 3.1 HttpClient Error while copying content to a stream.
|
|||
---|---|---|---|
#18+
fkthat hVostt Ну почему нельзя. Потому что нельзя - прими как есть Если серьезно, то стандартная реализация IHttpClientFactory cоздает HttpClient не примитивным new(), а переиспользуя HttpClientHandler-ы. Если у тебя создается и диспозится много инстансов HttpClient, то имеет большое значение. Для десктопного приложения это пофиг, но у автора явно ASP.NET что видно по оттрибуту [HttpPost]. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 13:14 |
|
asp.net core 3.1 HttpClient Error while copying content to a stream.
|
|||
---|---|---|---|
#18+
hVostt Да ладно, это же работает ) https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient?view=net-5.0 HttpClient is intended to be instantiated once and re-used throughout the life of an application. Instantiating an HttpClient class for every request will exhaust the number of sockets available under heavy loads. This will result in SocketException errors. По ссылке, что я выше давал как раз объясняется почему это происходит. HttpClientFactory делает все просто хитрее, чтобы не делать жуткий singleton - оно возвращает каждый раз новый инстанс, но все эти инстансы используют один и тот же HttpClientHandler (по отдельному хендлеру для каждого ендпойнта). ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 13:19 |
|
asp.net core 3.1 HttpClient Error while copying content to a stream.
|
|||
---|---|---|---|
#18+
fkthat, Ну не совсем хендлер. Суть в переиспользовании сокетов. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 14:38 |
|
asp.net core 3.1 HttpClient Error while copying content to a stream.
|
|||
---|---|---|---|
#18+
hVostt Суть в переиспользовании сокетов. Вот тут статья, где подетальней разбирается. Ты же говорил, что у вас несколько десятков тысяч микросервисов - для вас это как "отче наш" должно быть ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 15:12 |
|
asp.net core 3.1 HttpClient Error while copying content to a stream.
|
|||
---|---|---|---|
#18+
fkthat hVostt Суть в переиспользовании сокетов. Вот тут статья, где подетальней разбирается. Ты же говорил, что у вас несколько десятков тысяч микросервисов - для вас это как "отче наш" должно быть Так мы давно на фабрику перешли.. Но до фабрики жили неплохо, просто это был синглтон, но в этом свои проблемы есть ) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 16:07 |
|
asp.net core 3.1 HttpClient Error while copying content to a stream.
|
|||
---|---|---|---|
#18+
ок, пасиб, почитаю, попробую переписать код. Но беда в том, что он валился на первом же запросе... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 16:43 |
|
asp.net core 3.1 HttpClient Error while copying content to a stream.
|
|||
---|---|---|---|
#18+
переписал, та же фигня. проблема в том, что пост проходит, если не крепить файлы, как только крепанул - ошибка ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 17:05 |
|
asp.net core 3.1 HttpClient Error while copying content to a stream.
|
|||
---|---|---|---|
#18+
InnerException пробовал смотреть? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 17:08 |
|
asp.net core 3.1 HttpClient Error while copying content to a stream.
|
|||
---|---|---|---|
#18+
Shocker.Pro ~!@#$%$^ ааааааааааааааааа а вот там, где вы указали, реальная ошибка с четким пониманием того, что надо делать спасибо огромное ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 17:26 |
|
asp.net core 3.1 HttpClient Error while copying content to a stream.
|
|||
---|---|---|---|
#18+
ther Shocker.Pro ~!@#$%$^ ааааааааааааааааа а вот там, где вы указали, реальная ошибка с четким пониманием того, что надо делать спасибо огромное ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 19:51 |
|
asp.net core 3.1 HttpClient Error while copying content to a stream.
|
|||
---|---|---|---|
#18+
fkthat hVostt Да ладно, это же работает ) https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient?view=net-5.0 HttpClient is intended to be instantiated once and re-used throughout the life of an application. Instantiating an HttpClient class for every request will exhaust the number of sockets available under heavy loads. This will result in SocketException errors. По ссылке, что я выше давал как раз объясняется почему это происходит. HttpClientFactory делает все просто хитрее, чтобы не делать жуткий singleton - оно возвращает каждый раз новый инстанс, но все эти инстансы используют один и тот же HttpClientHandler (по отдельному хендлеру для каждого ендпойнта). тут народ не использует .Core 3? Типа заюзать DI Singeton, Scoped or Transient? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2020, 13:05 |
|
|
start [/forum/topic.php?fid=18&msg=40026337&tid=1354592]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
164ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 283ms |
0 / 0 |