Почему мои asp страницы выполняют кэшированный код - PullRequest
0 голосов
/ 26 апреля 2020

У меня есть приложение с очень странной проблемой.

Справочная информация: более 60 идентичных приложений IIS, работающих на windows server 2012, в которые я запускаюсь.

Каждое приложение идентично, за исключением некоторых файлов изображений и файлов web.config. (да, я знаю)

Приложения не компилируются, а просто запускаются как файлы cs. Также нет файлов proj или sln.

Существует одно скомпилированное приложение, которое запускается как запланированное задание и использует некоторые файлы в каждой из папок приложения.

Код C# и я редактирую его с помощью блокнота ++.

Проблема: я пытался обновить часть кода в одном из тестовых приложений, но мои изменения, похоже, не вступили в силу. (специально обновлять файл журнала и отправлять электронные письма). Текущие сообщения электронной почты работают, но мой новый не отображается, и не отображаются мои файлы журналов.

Я попытался проверить его в другом тестовом приложении, просто чтобы проверить, не сработало ли оно там, и обнаружил, что этот веб-сайт пришел с ошибкой в ​​некотором коде в указанной строке c указанного файла c.

Дело в том, что эта строка кода не находится на той же строке в реальном файле CS.

Затем я добавил еще одну строку вверх, чтобы посмотреть, смогу ли я получить ошибку деления на ноль.

Тот же результат. Сбой той же строки кода с тем же номером строки. Без изменений.

Похоже, что мой код кэшируется, и я не могу обновить sh его.

Я пытался убедиться, что он не кэшируется единственной запланированной задачей и циклом IIS полностью (на root).

Все еще происходит.

Я точно знаю, что дело не в том, что exe прячется где-то две недели как go Я сделал изменить код, и это сработало. Мое изменение обнаружилось. Я также точно знаю, что редактирую правильный файл. Я открыл папку, используя Explore в IIS.

Нет папок obj. В каждой папке приложения есть папка bin, но в папке bin ничего нет, кроме dll пакета nuget.

1 Ответ

0 голосов
/ 05 мая 2020

Хорошо. Поэтому после того, как я потратил неделю, пытаясь настроить web.config каждого приложения на использование tempDirectory = новый временный каталог на основе имени приложения, я наконец обнаружил, что предыдущие кодеры сделали две копии соответствующего файла. Идентичные копии. Один для использования в запланированной задаче и один для использования самим веб-сайтом.

Таким образом, все время, когда я пытался обнаружить изменения в результате моего кода, я менял тот, который использовал запланированная задача.

Конечно, несколько раз я обсуждал эту проблему с предыдущим разработчиком (который все еще работал с нами), он никогда не удосужился предложить решение, хотя несколько лет работал с этим кодом.

Обновление правильной копии решило проблему. Я также обнаружил, что за последние несколько недель волосы на голове теряли быстрее, чем когда-либо прежде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...