2013-03-15 49 views
0

我使用的是asp.net窗体。有一个Page_Load事件,但是有结束事件吗?HttpRequest结束时的事件?

我有一个linq datacontext创建页面载入,我想处置它,当我完成。

+0

我相信你正在使用LINQ到SQL? – 2013-03-15 19:35:58

+0

如果您使用的是LinqToSQL,那么您不应该在Page_Load上创建上下文。您应该使用{}语句包装上下文,将它们放入数据访问层,并根据需要从ASP.net页面中的数据访问层访问方法。 – 2013-03-15 21:50:45

回答

5

您应该可以在Page_Unload上完成事件是页面生命周期中的最后一个事件。欲了解更多关于页面事件,请查看this

0

顺便说一句,如果您使用实体框架,您不必处置DbContext:默认行为是在需要时打开连接并在完成时关闭它(more details)。

1

正如Emmanuel N所述,有Page_Unload事件。但是,如果您使用using,则无需担心处置DataContext

这是example

protected void buttonSearch_Click(object sender, EventArgs e) 
{ 
    using (var context = new NorthwindDataContext()) 
    { 
    var customers = 
     from c in context.Customers 
     select c; 

    gridViewCustomers.DataSource = customers; 
    gridViewCustomers.DataBind(); 
    } 
} 

Using is better than Dispose.