在后面的代码中实现析构函数/ dispose

时间:2016-12-31 22:49:07

标签: c# asp.net

我使用asp net 4.5。

我在页面Marker.aspx.cs后面有Marker.aspx页面和代码。 每当回发发生Page_Load函数在后面的代码中被触发并且创建了GeoMarkup类。

   GeoMarkup markupManager;       
   protected void Page_Load(object sender, EventArgs e)
    {
         markupManager = new GeoMarkup("constans",
                                        "mapName",
                                        null);

    } 

每当实现回发时,我都需要触发析构函数并将其放入析构函数这一行:

markupManager.Dispose();

我的问题是如何在代码中实现析构函数?;

1 个答案:

答案 0 :(得分:0)

您在类后面的代码是Page的子类,它具有虚拟Dispose方法。

您应该在代码中覆盖该方法

public override void Dispose()
{
    if (markupManager != null) {
        markupManager.Dispose();
        markupManager = null;
    }
}

当不再需要处理当前HTTP请求时,HTTP管道将在类上调用Dispose。