Я предполагаю, что Вы могли сделать это в модуле; но это оставляет открытым некоторые вопросы; что, если Вы хотите сохранить вход к базе данных? Внезапно, потому что Вы сохраняете закодированные данные к базе данных, Вы заканчиваете тем, что доверяли входу от него, который является, вероятно, плохой идеей. Идеально Вы храните сырые данные незакодированные данные в базе данных и кодировать каждый раз.
Отключение защиты на на уровень страницы и затем кодирование каждый раз является более оптимальным вариантом.
Вместо того, чтобы использовать Сервер. HtmlEncode необходимо посмотреть на более новое, больше завершенное библиотека Anti-XSS от команды Microsoft ACE.
Служба Windows фактически представляет собой приложение с несколькими дополнительными методами, доступными диспетчеру служб для управления им, а именно Stop ()
, Start ()
, Pause ()
, Continue ()
(или эквиваленты).
Когда вызывается Start, создается домен приложения, инициализируется класс обслуживания и Start ( )
метод вызван. При остановке вызывается метод Stop ()
до того, как домен приложения выгружается из памяти.
Вы можете увидеть это с помощью диспетчера задач. Приложение не существует в памяти до вызова start и исчезает после завершения Stop.
Поэтому я считаю, что ответ на ваш вопрос о жизненном цикле лежит в жизненном цикле стандартного приложения .NET, будь то командная строка , winforms или asp.net.
Я бы также посоветовал, если вы зависите от метода Dispose, то, вероятно, где-то в вашем проекте есть недостаток, в большинстве случаев ресурсы, очищенные с помощью Dispose, должны удаляться чаще, чем когда узел службы вызывает ваш компонент в Dispose. Большинство служб - это практически механизм для реагирования на какое-либо системное событие, в тех случаях, когда это событие исходит от неуправляемого ресурса, вы, вероятно, захотите только захватить ресурс OnStart и освободить его OnStop в ситуациях, когда событие происходит не из неуправляемого space, то вы, вероятно, захотите захватить и освободить неуправляемые ресурсы более типичным способом JustInTime, когда вы захватываете их как ресурс только тогда, когда они вам нужны, и выпускаете их (с помощью их метода Dispose), как только сможете. Для дальнейшего чтения ознакомьтесь с Когда и как использовать dispose и .Net dispose pattern