2008-10-21 3 views
2

У меня есть элемент управления веб-пользователей, который содержит несколько других (веб-пользователей) элементов управления и подписывается на события, которые поднимают дети.Мне нужно отменить регистрацию событий в asp.net

Я видел кого-то в аналогичной ситуации, предоставляя Dispose() на содержащем элементе управления и отменяя регистрацию событий, на которые он подписал.

Не все ли удалено, когда обработка запроса завершается?/Не регистрирует эти события?

ответ

3

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

Дополнительную информацию можно получить здесь discussion.

0

Как вы говорите, страница (и все его элементы управления) воссоздан на каждом постбэка, так что не надо

Смежные вопросы