Я использую VS 2010 Professional (в Windows 7 Professional 64), пишу с помощью WCF 4.0. У меня есть следующий код:
if (responseMessage.StatusCode == HttpStatusCode.NotFound)
{
throw new ContentNotFoundException(contentId, SSPErrorCode.PartnerRestGetStream404);
}
При подключении отладчика к процессу, установив точку останова в операторе «if» или до этого, пока условие ложно (responseMessage.StatusCode - «ОК»), отладчик переходит в заявление «если». Затем он переходит к оператору throw, ничего не делая, а затем продолжает код.
Я пробовал:
Перезапуск VS, выход из системы пользователя Windows, перезагрузка, очистка решения, его повторное построение, перестроить его, перезапустить пул приложений, перезапустить IIS, добавить дополнительный код внутри оператора if и внутри условия - пока ничего не сработало.
Где-то должен быть кеш, который я могу очистить, чтобы избавиться от него, но что и где?
Погуглил, я нашел только http: - social.msdn.microsoft. com / Forums / en-US / vsdebug / thread / d4b70fd7-b74a-42ce-a538-7185df3d3254 /, поэтому я попытался вручную установить точку останова, и она не сломалась в этом классе, хотя то же самое и в других классах.
Я бы хотел исправить это, не переустанавливая VS. Заранее благодарим!
Обновление :
using System; пространство имен IEnumerableBug2 { программа класса { static void Main (строка [] аргументы) { если (новый объект () == нуль) бросить новое исключение (); попробуй поймать { } } } }
Обновление №2 :
Обратите внимание, что в моем методе также есть оператор try-catch, через несколько строк после оператора if.
Я только что попытался воспроизвести эту ошибку еще раз, и не удалось. Я собираюсь оставить вопрос о stackoverflow для других, кому он может понадобиться, но, как я уже писал, я больше не могу воспроизвести такое поведение.