Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Поправить Global.asax
|
|||
|---|---|---|---|
|
#18+
Есть сайт на ASP.Net WebForms. Исходников нет, есть только то. что выложено на хостинг. Нужно поправить файл Global.asax - исправить 404 ошибку и заменить 301 редирект на 302. Global.asax существует в виде dll. Дизассемблировал его, получил проект с помощью JetBrain Reflector'а. После чего собрал этот проект - не меняя ничего - и выложил полученную dll на хостинг. И - не заработало... Получаю код ошибки 500. И возник вопрос, а можно ли, вообще так делать? И если так нельзя, то как можно и нужно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2017, 08:27 |
|
||
|
Поправить Global.asax
|
|||
|---|---|---|---|
|
#18+
Abejon, заплатить за исходники. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2017, 08:46 |
|
||
|
Поправить Global.asax
|
|||
|---|---|---|---|
|
#18+
AbejonИ возник вопрос, а можно ли, вообще так делать? И если так нельзя, то как можно и нужно? Не можно так делать, по крайне мере в лоб. Редиректы делаются в web.config с помощью модуля URL Rewrite , можно решить массу проблем со ссылками не залезая в код. Если всё же надо как-то повлиять на исполнение, можно попробовать написать модуль и добавить логики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2017, 08:56 |
|
||
|
Поправить Global.asax
|
|||
|---|---|---|---|
|
#18+
skyANA, программист, который этим занимался до меня, утверждает, что у него нет исходников. Всё, что у него есть - то, что лежит на хостинге. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2017, 09:17 |
|
||
|
Поправить Global.asax
|
|||
|---|---|---|---|
|
#18+
hVostt, я правильно понимаю, что просто диассемблировать dll, поправить, а потом заново собрать её нельзя в принципе? P.S. Не всё через web.config можно сделать. Не всё работает через него. Например, 404 ошибка. Если делать через web.config, то возвращается статус 200, а это неправильно для SEO, для поисковиков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2017, 09:21 |
|
||
|
Поправить Global.asax
|
|||
|---|---|---|---|
|
#18+
AbejonhVostt, я правильно понимаю, что просто диассемблировать dll, поправить, а потом заново собрать её нельзя в принципе? В принципе можно. AbejonНапример, 404 ошибка. Если делать через web.config, то возвращается статус 200, а это неправильно для SEO, для поисковиков. Можно добавить модуль, который обработает ответ и если надо, вернёт 404. Это всяко будет проще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2017, 09:27 |
|
||
|
Поправить Global.asax
|
|||
|---|---|---|---|
|
#18+
hVosttВ принципе можно. А как? И почему у меня это не работает? Написать модуль, подключить его через web.config? Но в global.asax уже есть код для обработки ошибки 404, только он не работает. Он возвращает статус 200, а не 404, как должен бы. Модуль и global.asax не будут конфликтовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2017, 09:32 |
|
||
|
Поправить Global.asax
|
|||
|---|---|---|---|
|
#18+
AbejonА как? И почему у меня это не работает? Разреши в вебконфиге показывать детали ошибки и посмотри в чём проблема, когда возвращается 500. Просто это сделать не получится. AbejonНаписать модуль, подключить его через web.config? Но в global.asax уже есть код для обработки ошибки 404, только он не работает. Он возвращает статус 200, а не 404, как должен бы. Модуль и global.asax не будут конфликтовать? Не будут. Делай лучше модуль. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2017, 11:07 |
|
||
|
Поправить Global.asax
|
|||
|---|---|---|---|
|
#18+
hVostПросто это сделать не получится. А непросто - это как? Хотя бы в двух словах, пожалуйста. Хорошо, попробую модуль написать. Но какой именно модуль нужен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2017, 11:12 |
|
||
|
Поправить Global.asax
|
|||
|---|---|---|---|
|
#18+
AbejonА непросто - это как? Хотя бы в двух словах, пожалуйста. В двух словах, надо разбираться что за ошибка, потому что ошибка 500 это ни о чём, и пытаться её решить. Если бы бы просто, ты бы сюда наверное не писал, так? AbejonХорошо, попробую модуль написать. Но какой именно модуль нужен? IHttpModule ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2017, 15:36 |
|
||
|
Поправить Global.asax
|
|||
|---|---|---|---|
|
#18+
hVostt, авторРазреши в вебконфиге показывать детали ошибки и посмотри в чём проблема, когда возвращается 500 Развернул IIS 7 в локальной сети. Скопировал всё, что взял с хостинга. Добавил в Web.Config Код: xml 1. 2. 3. 4. 5. 6. Теперь получаю сообщение: Невозможно отобразить эту страницу ввиду того, что произошла внутренняя ошибка сервера. и ничего больше. Причём, это сообщение теперь выдаётся и вместо страницы 404 даже если возвращаю старую конфигурацию. В настройках IIS в разделе "Страницы ошибок" выбран режим "Вставить содержимое стат.файла в ошибочный ответ". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2017, 11:16 |
|
||
|
Поправить Global.asax
|
|||
|---|---|---|---|
|
#18+
hVostt, - развернул сайт в локальной сети, - написал HttpModule для обработки ошибок, - прописал в Web.config использование модуля, - собрал dll, закинул её в папку bin сайта. Сайт вообще перестал грузиться, выдаёт ошибку 500 без каких-либо пояснений. :( Что ещё можно сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2017, 11:32 |
|
||
|
Поправить Global.asax
|
|||
|---|---|---|---|
|
#18+
Abejon, Видимо внутрях ошибки 500 перехватываются и обрабатываются отдельно, без возможности как-то изменить это поведение через конфиг. Руки бы ободрать таким кодерам. Ну вообще да, попробуй дизассемблированные исходники не просто собрать в DLL и закинуть в проект, а запустить через студию в режиме отладки. Пока ты не поймёшь в чём конкретно ошибка и в чём проблема, помочь тебе никак нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2017, 12:05 |
|
||
|
Поправить Global.asax
|
|||
|---|---|---|---|
|
#18+
hVostt,я тебя правильно понял, что нужно дизассемблировать ВСЕ библиотеки, и создать из них проект заново? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2017, 12:14 |
|
||
|
Поправить Global.asax
|
|||
|---|---|---|---|
|
#18+
AbejonhVostt,я тебя правильно понял, что нужно дизассемблировать ВСЕ библиотеки, и создать из них проект заново? Ну смотри, у тебя вместо работы приложения ошибка 500, детали ошибки ты получить не можешь. Ни причин, ни источника ошибки, ни даже самой ошибки. Настройка вывода ошибок не конфигурируется, лога как я понял тоже нет. Какие у тебя остаются варианты? Всё дизассемблировать в проект и запустить в студии, чтобы поймать место ошибки. Или подключить профайлер. В общем конкретно что тебе надо сделать, чтобы решить проблему, я не могу сказать. Могу предложить варианты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2017, 12:56 |
|
||
|
Поправить Global.asax
|
|||
|---|---|---|---|
|
#18+
hVostt,вариантов, я так понимаю, всего два: восстановление всего проекта и профайлер? Причём, после профайлера не факт, что всё равно не придётся воссоздавать весь проект? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2017, 13:11 |
|
||
|
Поправить Global.asax
|
|||
|---|---|---|---|
|
#18+
AbejonhVostt,вариантов, я так понимаю, всего два: восстановление всего проекта и профайлер? Причём, после профайлера не факт, что всё равно не придётся воссоздавать весь проект? Не факт. Проще было бы уговорить программиста отдать исходники. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2017, 16:01 |
|
||
|
Поправить Global.asax
|
|||
|---|---|---|---|
|
#18+
hVostt, авторПроще было бы уговорить программиста отдать исходники. Я в этом случае третья сторона. Со слов Заказчика, мой предтеча утверждает, что всё, что у него есть - выложено на сервер. Какая там предыстория - я не в курсе. Написал свой модуль обработки ошибок, попробовал его подключить, и вот что получил: Configuration Error Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately. Parser Error Message: Could not load file or assembly 'HttpModules' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded. (E:\Rooms䌗34\site.ru\www\web.config line 110) Source Error: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine. Source File: E:\Rooms䌗34\site.ru\www\web.config Line: 110 Version Information: Microsoft .NET Framework Version:2.0.50727.6421; ASP.NET Version:2.0.50727.6427 Т.е. получается, что свою сборку просто так не добавишь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2017, 14:17 |
|
||
|
Поправить Global.asax
|
|||
|---|---|---|---|
|
#18+
Abejon, Приложение сайта собрано на .NET 2.0 Поэтому твой модуль также должен быть собран под этой версией, а ты похоже собираешь на .NET 4. Зайди в настройки проекта своего модуля и уменьши версию платформы до 2.0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2017, 15:01 |
|
||
|
Поправить Global.asax
|
|||
|---|---|---|---|
|
#18+
hVostt, да, действительно, ошибка была в разных версиях .Net Исправил, пересобрал модуль, теперь он подгружается без ошибки. В итоге имею следующее: Написал вот такой модуль: Код: 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. Вот так зарегистрировал его в Web.Config: Код: xml 1. 2. 3. 4. 5. 6. старый обработчик ошибок зарегистрирован так: Код: xml 1. 2. 3. 4. 5. 6. 7. И - не работает. Модуль, похоже, просто не вызывается при ошибке. Если старый обработчик закомментировать, то при ошибке выдаётся стандартное окно об ошибке сервера, если его не закомментируешь, то работает только он. Что-то не так в конфиге? P.S. Пробовал варьировать значение customErrors - ничего не меняется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2017, 10:55 |
|
||
|
Поправить Global.asax
|
|||
|---|---|---|---|
|
#18+
hVostt, кстати, вот так выглядит фрагмент дизассемблированной dll файла Global.asax Код: 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. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. Вроде бы, тоже всё верно. Нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2017, 11:02 |
|
||
|
Поправить Global.asax
|
|||
|---|---|---|---|
|
#18+
Abejon, Посмотри на события приложения: https://msdn.microsoft.com/ru-ru/library/system.web.httpapplication_events(v=vs.110).aspx Видимо исключение перехватывается и обрабатывается в обработчике приложения, поэтому до твоего Error не доходит. Ты можешь повесить обработчик на EndRequest, и проанализировать ответ. Если он тебя не устраивает, переписать на другой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2017, 11:07 |
|
||
|
Поправить Global.asax
|
|||
|---|---|---|---|
|
#18+
AbejonВроде бы, тоже всё верно. Нет? Видно, что ошибка перехватывается, так что бесполезно ловить её в модуле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2017, 11:08 |
|
||
|
Поправить Global.asax
|
|||
|---|---|---|---|
|
#18+
hVostt,так всё, вроде бы, правильно в Global.asax, вроде бы, должен код 404 возвращаться. Нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2017, 11:20 |
|
||
|
Поправить Global.asax
|
|||
|---|---|---|---|
|
#18+
hVosttВидимо исключение перехватывается и обрабатывается в обработчике приложения, поэтому до твоего Error не доходит. Похоже на то. Я так и предполагал, что будет конфликт подобного рода .А отключить его нет никакой возможности? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2017, 11:22 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=39423856&tid=1355558]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
26ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 261ms |
| total: | 363ms |

| 0 / 0 |
