SQLTransaction Multiadd响应重定向不工作

本文关键字:工作 重定向 响应 Multiadd SQLTransaction | 更新日期: 2023-09-27 18:03:05

我使用事务来添加不同的数据库表。当我添加Response.redirect("");时,我得到错误:SQLTransaction complete; is no longer available.如果我删除响应。重定向,它工作正常,没有错误。

protected void btnEkle_Click(object sender, EventArgs e)
        {
            SqlConnection baglanti = system.baglan();
            SqlCommand Trans_isl1 = new SqlCommand("Insert TblDetay (Ad,Yerler,Ulasim,Resim,Durum) values(@Ad,@Yerler,@Ulasim,@Resim,@Durum)", baglanti);
            Trans_isl1.Parameters.Add("@Ad", "deneme");
            Trans_isl1.Parameters.Add("@Yerler", "sdfgjkj");
            Trans_isl1.Parameters.Add("@Ulasim", "ads1");
            Trans_isl1.Parameters.Add("@Resim", "1.jpg");
            Trans_isl1.Parameters.Add("@Durum", true);
            SqlTransaction sqlTrans = baglanti.BeginTransaction(); // Transaction nesnesine işlemleri eşitliyoruz.
            Trans_isl1.Transaction = sqlTrans; 
            try
            {  
                 Trans_isl1.ExecuteNonQuery();
                 sqlTrans.Commit();
                 Response.Redirect("second.aspx?id="+ Session["id"]);
            }
            catch (Exception hata)
            { 
                Response.Write("İşleminiz yapılamadı, Oluşan Hatanın Detayı<br />" + hata);
                sqlTrans.Rollback();  
            }
            finally
            {  
                baglanti.Close();
                baglanti.Dispose();
                Trans_isl1.Dispose(); 
            }

        }

SQLTransaction Multiadd响应重定向不工作

回应。重定向呼叫响应。结束,这将抛出ThreadAbortException,它被捕获块捕获,然后回滚不能发生,因为事务已经提交。您可以使用Server。代替Transfer或使用Response的过载。重定向,允许您指定是否响应。结束被调用。

查看此链接了解更多信息http://support.microsoft.com/kb/312629