【问题标题】:Event when HttpRequest Ends?HttpRequest 结束时的事件?
【发布时间】:2013-03-04 15:43:14
【问题描述】:

我正在使用 asp.net 表单。有Page_Load事件,但是有结束事件吗?

我在页面加载时创建了一个 linq 数据上下文,我想在完成后处理它。

【问题讨论】:

  • 我猜你正在使用 LINQ to SQL?
  • 如果您使用的是 LinqToSQL,那么您不应该在 Page_Load 上创建上下文。您应该在 using {} 语句中包装上下文,将它们放在数据访问层中,并根据需要从 ASP.net 页面中的数据访问层访问方法。

标签: c# asp.net linq webforms


【解决方案1】:

您可能应该在Page_Unload 上执行此操作,事件是页面生命周期中的最后一个事件。有关页面事件的更多信息,请查看this

【讨论】:

    【解决方案2】:

    正如 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.

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2012-06-02
        • 1970-01-01
        • 1970-01-01
        • 2011-10-25
        • 1970-01-01
        • 1970-01-01
        • 2020-07-03
        • 2017-04-06
        • 1970-01-01
        相关资源
        最近更新 更多