Как зайти в Даркнет?!
25th January, 01:11
6
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
895
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
914
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
905
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
938
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1724
0
период по дням
25th October, 10:44
3955
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4381
0
Помогите пожалуйста решить задачи
24th November, 23:53
6086
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4351
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4396
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
Почему мое приложение asp.net выбрасывает ThreadAbortException?
само собой разумеющийся вопрос.
Почему эта штука пузырится в моей попытке поймать даже тогда, когда ничего не случилось?
Почему он появляется в моем журнале сотни раз?
Я знаю, что это новый вопрос, но если этот сайт собирается получить рейтинг поиска и привлечь новых пользователей, мы должны спросить их
Это, вероятно, исходит от вызова Response.Redirect. Проверьте эту ссылку для получения объяснений:
http://dotnet.org.za/armand/archive/2004/11/16/7088.aspx
(В большинстве случаев вызов Response.Redirect(url, false) устраняет проблему)
Самая распространенная причина для ThreadAbortException-это вызов Response.End, Response.Redirect или Server.Transfer . Корпорация Майкрософт опубликовала некоторые предлагаемые функции, которые следует использовать вместо этих функций.
Как уже говорили другие, это происходит, когда вы вызываете Response.End() (что происходит, когда вы вызываете Response.Redirect, не передавая false в качестве второго параметра). Это работает так, как задумано; обычно, если вы вызываете Response.Redirect, вы хотите, чтобы перенаправление произошло немедленно. Посмотреть более подробную информацию:
Response.Redirect и ThreadAbortException
Зная, что есть (по крайней мере) три APIs , которые внутренне используют Thread.Abort, я хотел бы ответить в более практических терминах, как решить, что с этим делать.
Для нас эта ошибка начала регистрироваться all-of-a-sudden. Что же изменилось? Мы исправили ошибку в какой-то процедуре базы данных, которая имела дело с картами сайтов.
В журналах log4net было показано, что заголовок X-Forwarded-For (мы стоим за NLB) был адресом IP Googlebot, 66.249.78.x, который подкрепил мою теорию об изменении sitemap, приведшем к тому, что Google стал более агрессивно искать изображения на нашем сайте.
Первым делом нужно было выяснить, почему только Гуглбот смог вызвать эту проблему. Ни один другой клиент не запускал какой-либо кодовый путь , использующий Response.Redirect, или что-то еще.
Поэтому в обработчике HttpApplication.Error я добавил некоторый код для регистрации дополнительных подробных выходных данных со всеми заголовками,и большинство данных в HttpResponse и HttpContext извергались в журнал.
Это позволило мне увидеть, что проблема заключалась в том, что Googlebot использует строку агента пользователя iPhone и вооружившись этим, я смог найти кодовую базу для "iPhone" и придумать:
private void CheckIPhoneAccess() { ... }
И это использует перенаправление.
Что же с этим делать?
Ну, для этой устаревшей кодовой базы не стоит ретропатчить все вызовы Response.Redirect , поэтому я собираюсь понизить уровень протоколирования для ThreadAbortException для приложения.
Я изменю поведение мобильного искателя Googlebot, что не приведет к 'lies' о том, что наш сайт служит мобильным телефонам, так как он перенаправляет только при первом попадании, а затем читает файл cookie и показывает изображение. Googlebot, похоже, не кэширует этот файл cookie.
Это не идеально,но сайт должен быть восстановлен. вероятно, другой командой, использующей Scala или что-то еще, так что в практическом плане я думаю, что это хороший выбор. Я добавлю комментарии и, возможно, вернусь к этому вопросу позже, построю расширение Response.SafeRedirect , которое инкапсулирует этот совет:
Почему Response.Redirect вызывает System.Threading.ThreadAbortException?
Лука
Причина, по которой Response.Redirect даст это исключение, заключается в том, что asp.net внутренне реализует этот API с Thread.Abort(). При вызове этого метода выбрасывается специальный ThreadAbortException. Это исключение не будет проглочено никаким блоком catch. Он будет повторно брошен в конце каждого блока catch.