加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

我是否需要在asp.net中取消订阅(手动订阅)活动?

发布时间:2020-12-15 23:56:13 所属栏目:asp.Net 来源:网络整理
导读:有关订阅/取消订阅活动的最佳实践规则是否适用于asp.net? 我知道这可能看起来像一个愚蠢的问题,但是当我想到它时,我从未真正看到任何人们首先在页面上订阅事件然后在Web请求中取消订阅的代码. 例1: 在页面上,在Page_Load方法中,我订阅了ListView上的更新事
有关订阅/取消订阅活动的最佳实践规则是否适用于asp.net?

我知道这可能看起来像一个愚蠢的问题,但是当我想到它时,我从未真正看到任何人们首先在页面上订阅事件然后在Web请求中取消订阅的代码.

例1:
在页面上,在Page_Load方法中,我订阅了ListView上的更新事件.我以后应该取消订阅该事件,例如在OnPreRenderComplete方法中吗?

例2:
在被动视图模式中,只要需要演示者执行任何操作,视图(页面控件/用户控件)就会引发事件.因此,演示者需要订阅视图上的事件,但是还需要再次取消订阅事件吗?

最好的问候,埃吉尔.

解决方法

当请求完成时,页面实例及其所有组件将“超出范围”,例如,他们有资格获得GC.因此,ListView将与其上的页面/用户控件一起超出范围.您不需要取消订阅(除非您订阅属于某种单例的事件,该事件在每个请求中都存在并且使用该页面的某个方法作为事件处理程序).

同样的事情对于演示者也是有效的(只要该演示者仅用于一个页面并且在此之后超出范围).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读