当前位置: 首页 > news >正文

网站建设重要新拉新推广怎么做代理

网站建设重要新,拉新推广怎么做代理,jquery mobile 做的网站,php做电影网站背景 在开发3G应用的时候,程序退出了,需要自动关闭已经打开的链接。这样需要在Winform退出的时候把其分配的资源都dispose掉。本文讲述Winform Dispose资源的几种方法。 方案 方案一 使用VS2005以上做Winform开发,Visual Studio会自动生成一个…

背景

在开发3G应用的时候,程序退出了,需要自动关闭已经打开的链接。这样需要在Winform退出的时候把其分配的资源都dispose掉。本文讲述Winform Dispose资源的几种方法。

 

方案

方案一

使用VS2005以上做Winform开发,Visual Studio会自动生成一个用于保存layout信息和处理事件的partial class(一般叫做*.Designer.cs)这个partial class里面重载了Dispose的方法。

/// <summary>
///
Clean up any resources being used.
/// </summary>
/// <param name="disposing">
true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}

但是这个partial class是由Visual Studio自动生成的,最好不要手工修改,需要Dispose最简单的方法是把这个方法拷贝到另外一个类文件里面。一般为*.cs,然后加入需要Dispose的代码。

/// <summary>
///
Clean up any resources being used.
/// </summary>
/// <param name="disposing">
true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
DisposeResources();
base.Dispose(disposing);
}

 

方案二

注册Disposed事件。

this.Disposed += new EventHandler(MainForm_Disposed);

 

void MainForm_Disposed(object sender, EventArgs e)
{
Logger.Instance.LogTrace("MainForm_Disposed");
}

 

当Dispose调用下面代码的时候会调用该注册的事件处理函数。

if (disposing && (components != null))
{
components.Dispose();
}

 

可是这个方法有一个问题,如果该Form没有任何其他的components 时,MainForm_Disposed是不会被调用的,因此有下面方案三。

 

方案三

由于方案二的问题,提出了方案三。方案三是使用一个继承于Component的类Disposer,这个Disposer类保存需要Dispose的类的引用,然后把这个Disposer类加入到components中。

internal class Disposer : Component
{
private IDisposable _disposable;
internal Disposer(IDisposable disposable)
{
_disposable = disposable;
}

protected override void Dispose(bool disposing)
{
if (disposing)
{
if (_disposable != null)
{
_disposable.Dispose();
}
}
base.Dispose(disposing);
}
}

定义一个继承于Component的类Disposer。Disposer保存了需要Dispose的类的引用。

components.Add(new Disposer(connectionManager));

Disposer的对象保存到 components里面,这样components 就不可能为null。下面的代码就会执行。

if (disposing && (components != null))
{
components.Dispose();
}

connectionManager为需要Dispose的成员,这个对象的类需要继承IDisposable 并重载Dispose。

sealed class ConnectionManager : IDisposable
{
public void Dispose()
{
//Disconnect the network
}
}

 

方案三就完成了,大家merry chrismas。

http://www.lbrq.cn/news/2703547.html

相关文章:

  • 网站建设管理员角色设置营销网站建设的因素
  • 宿迁明远建设有限公司网站河北百度推广客服电话
  • 专门做推广的网站家居seo整站优化方案
  • 定制手机微网站地推接单平台
  • h5响应式集团网站推荐域名ip查询入口
  • 工程建设标准网官方网站经营管理培训课程
  • wordpress s3插件南宁网站seo
  • 源码怎么做成网站商业软文代写
  • 泉州建设网站公司乔拓云智能建站
  • 经典网站案例制作一个网站的全过程
  • wordpress导航页面样式长春做网络优化的公司
  • 没有域名可以先做网站吗sem是什么设备
  • 腾讯云wordpress搭建网站珠海百度推广优化排名
  • wordpress 4.9 下载seo外包软件
  • 网站建设.c百度竞价开户多少钱
  • 养殖场在哪个网站做环评备案亚洲足球最新排名
  • 公共资源交易中心忙吗刷移动关键词优化
  • 电子书网站 自己做网站排名靠前
  • 网站哪里做成功营销十大经典案例
  • 怎么制作网站获取ip郑州seo顾问阿亮
  • 山东政府网站信息内容建设上海关键词排名软件
  • 手机端网站动效类怎么做自媒体软文发布平台
  • 开发一个网站做爬虫百度推广运营
  • 西安有一个电影他要拉投资做网站站长工具seo查询5g5g
  • 海口公司做网站临沂网站建设方案服务
  • 深圳网站设计灵点网络公司不错网络市场调研
  • 诸城网站设计什么是seo优化?
  • 甘肃庆阳疫情最新情况徐州自动seo
  • wordpress开发的网站长沙seo优化
  • 合肥企业快速建站1688网站
  • 【论文笔记】DOC: Improving Long Story Coherence With Detailed Outline Control
  • 自动驾驶 HIL 测试:构建 “以假乱真” 的实时数据注入系统
  • Nginx 启用 HTTPS:阿里云免费 SSL 证书详细图文教程(新手0.5小时可完成)
  • 【Redis的安装与配置】
  • 【Node.js从 0 到 1:入门实战与项目驱动】1.4 Node.js 的发展与生态(历史版本、LTS 版本、npm 生态系统)
  • 爬虫与数据分析结和