Мне нужно отменить регистрацию событий в asp.net
У меня есть пользовательский веб-элемент управления, который содержит несколько других (веб-пользовательских) элементов управления и подписывается на события, которые вызывают дети.
Я видел кого-то в похожей ситуации, предоставляющего Dispose() для содержащего элемента управления и отменяющего регистрацию событий, на которые он подписан.
Разве все это не будет сметено, когда обработка запроса завершится? / Нужна ли отмена регистрации этих событий?
3 ответа
Поскольку на содержащиеся элементы управления (издатели событий) больше не будет ссылаться что-либо, когда на сам содержащий элемент управления больше нет ссылок, они должны собираться мусором. Когда это происходит, содержащий контроль также может быть собран мусором. Поскольку все эти объекты принадлежат одному поколению, я не вижу, как контейнер может быть собран раньше. Отмена регистрации обработчиков событий не является необходимой. Если бы издатели событий были объектами с большей продолжительностью жизни, чем контейнером, то это имело бы какой-то смысл.
Для получения дополнительной информации, обратитесь к этому обсуждению.
Как вы говорите, страница (и все ее элементы управления) воссоздается при каждой обратной передаче, поэтому в этом нет необходимости