|
Error 500 при post файла 2мб
|
|||
---|---|---|---|
#18+
Добрый вечер. Не подскажите, в чём может быть проблема ? Или как её правильно диагностировать ? На сервере(IIS Express) есть метод, который принимает post запрос. Запрос в этот метод делает такой код: Код: c# 1.
Но вылетает ошибка: An error occurred while processing your request. HttpStatusCode = 500 т.е. до метода контроллера даже не доходит. Как только я уменьшаю размер файл Json через Notepad.exe до ~1.3мб(и менее) - всё работает. На стековерфлоу написано, что надо поставить в Web.config значения ниже. Я их поставил, но ничего не изменилось. </appSettings> <add key="aspnet:MaxJsonDeserializerMembers" value="16384000"/> <system.web> <httpRuntime targetFramework="4.6.1" maxRequestLength="16384000"/> <system.webServer> <security> <requestFiltering> <requestLimits maxAllowedContentLength="3276800000"/> ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2020, 22:36 |
|
Error 500 при post файла 2мб
|
|||
---|---|---|---|
#18+
А что в стеке исключения на сервере? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2020, 23:01 |
|
Error 500 при post файла 2мб
|
|||
---|---|---|---|
#18+
Shocker.Pro, Не понял, о чём ты и где это посмотреть ? До метода контроллера не доходит, я не могу поставить точку остановки. Точнее могу, но она не срабатывает, пока файл 2мб ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2020, 23:36 |
|
Error 500 при post файла 2мб
|
|||
---|---|---|---|
#18+
Valery_B не могу поставить точку остановки. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2020, 00:40 |
|
Error 500 при post файла 2мб
|
|||
---|---|---|---|
#18+
customErrors поставь в off и увидишь в ответе стек вызовов где обрывается ексепшеном. это если старый асп.нет. если коре, то запусти кастрюлю в консольном режиме - там ексепшен будет в консоли. а вообще хороший практис - в любом проекте первым делом обустраивать логгирование. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2020, 02:11 |
|
Error 500 при post файла 2мб
|
|||
---|---|---|---|
#18+
fkthat customErrors поставь в off и увидишь в ответе стек вызовов где обрывается ексепшеном. это если старый асп.нет. если коре судя по: httpRuntime targetFramework="4.6.1", - это не core а в .NET Framework JavaScriptSerializer-е есть забавный баг: если POST запросу указать, что тип контента JSON, то с какого-то размера начинает падать и на настройки по фигу Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
если не указывать тип контента, вернее просто указать contentType: "charset=utf-8", - то всё хорошо либо надо подсовывать свою ValueProviderFactory, использовать Json.NET ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2020, 11:18 |
|
Error 500 при post файла 2мб
|
|||
---|---|---|---|
#18+
Дмитрий Мух с какого-то размера начинает падать и на настройки по фигу Это логично, если бага в самом Json сериалайзере. Можно попробовать параметры акции заменить просто на HttpRequestMessage и посмотреть - дойдет ли в этом случае выполнение до неё. Если да, то, стопроцентно виноват сериалайзер, тогда можно попробовать обходные пути - десериализовывать ккаим-либо другим способом, а не тем что в дефолтный байндер вшит. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2020, 12:36 |
|
Error 500 при post файла 2мб
|
|||
---|---|---|---|
#18+
fkthat customErrors поставь в off и увидишь в ответе стек вызовов где обрывается ексепшеном. А можно показать, где конкретно это надо поставить ? Скрин ? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2020, 12:38 |
|
Error 500 при post файла 2мб
|
|||
---|---|---|---|
#18+
Дмитрий Мух если не указывать тип контента, вернее просто указать contentType: "charset=utf-8", - то всё хорошо либо надо подсовывать свою ValueProviderFactory, использовать Json.NET Точно, почти сработало, спасибо! т.е. уже до отладки доходит, срабатывает брейкпоинт, но объекта нет. Все его свойства = null Не совсем понял как использовать Json.net ? это ты о Newtonsoft.Json ? И ValueProviderFactory ? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2020, 12:45 |
|
Error 500 при post файла 2мб
|
|||
---|---|---|---|
#18+
Valery_B Дмитрий Мух если не указывать тип контента, вернее просто указать contentType: "charset=utf-8", - то всё хорошо либо надо подсовывать свою ValueProviderFactory, использовать Json.NET Точно, почти сработало, спасибо! т.е. уже до отладки доходит, срабатывает брейкпоинт, но объекта нет. Все его свойства = null Не совсем понял как использовать Json.net ? это ты о Newtonsoft.Json ? И ValueProviderFactory ? Да, о Newtonsoft. Легко же ищется: Json.NET . И как использовать, тоже легко ищется: https://www.google.com/search?q=ASP.NET MVC Value Provider Factory using JSON.NET Но можно пойти и другим путём, через IModelBinder. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2020, 13:20 |
|
Error 500 при post файла 2мб
|
|||
---|---|---|---|
#18+
Дмитрий Мух Да, о Newtonsoft. Если там 4.*, то точно он. А с коревским System.Text.Json уже, кстати, отгребли проблем, хоть и некритичных. Сыр еще. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2020, 16:52 |
|
Error 500 при post файла 2мб
|
|||
---|---|---|---|
#18+
Дмитрий Мух И как использовать, тоже легко ищется: https://www.google.com/search?q=ASP.NET MVC Value Provider Factory using JSON.NET Но можно пойти и другим путём, через IModelBinder. Если честно, из ответа я так и не понял, что можно сделать. Какой путь самый простой ? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2020, 16:34 |
|
Error 500 при post файла 2мб
|
|||
---|---|---|---|
#18+
Сделал сейчас свой IModelBinder, который return null; Зарегистрировал его в Global.asax\ protected void Application_Start() через ModelBinders.Binders.Add Опять не доходит до метода контроллера с ContentType = 'application/json; charset=UTF-8'; ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2020, 17:31 |
|
Error 500 при post файла 2мб
|
|||
---|---|---|---|
#18+
О, походу сработало) Интересно, вылезит ли это в каком нибудь другом месте ?) Мне до конца не понятно, что я сделал. Скопировал себе такой небольшой класс: Код: 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. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92.
И прописал его в Global.asax\ protected void Application_Start() Код: c# 1. 2.
How to use Json.NET for JSON modelbinding in an MVC5 project? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2020, 17:53 |
|
|
start [/forum/topic.php?fid=18&msg=39948501&tid=1354733]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 141ms |
0 / 0 |