xjpmauricio
asked on
ERROR: Thread was being aborted ... Please Help!
i have this code wich works fine with 20-30 records but, if i use it with 120 records or more i get the "Thread was being aborted" error! what's happening? here's the code:
//************************ ********** ********** ********** ********** ********** **
//1 - Closes order
private void closeOrder()
{
//OrderType: collectInCustomer || deliverToCustomer
if(orderType.Value.Trim() == "collectInCustomer")
{
//collectInCustomer » Stored
__mediaLocationStateFlags = "Stored";
}
else
{
//deliverToCustomer » IntheCustomer
__mediaLocationStateFlags = "IntheCustomer";
}
// Response.Write("status: " + __mediaLocationStateFlags +
// "<br>OrderID: " + _orderID);
SqlConnection conn = new SqlConnection(_getSetting. mssqlsConn );
//[ 1 ] .......................... .......... .......... .......... .......... ..
//Selects Current order items - Loop
strCommand = "/* [ 1 ] Lists order media items - processOrder.aspx */ \n" +
"select * from EAD_ORDERS where OrderId = " + _orderID + "\n";
try
{
conn.Open();
SqlCommand cmd = new SqlCommand(strCommand,conn );
SqlDataReader reader = cmd.ExecuteReader();
while(reader.Read())
{
//Response.Write("item: " + reader["mediaID"].ToString () + "<br>");
closeOrderExec(Convert.ToI nt32(reade r["OrderID "].ToStrin g().Trim() ),
Convert.ToInt32(reader["me diaID"].To String().T rim()),
__mediaLocationStateFlags) ;
}
reader.Close();
}
catch(Exception ex)
{
conn.Close();
Response.Redirect("message .aspx?mess age=Erro closeOrder: " + Server.UrlEncode(ex.Messag e.ToString ()));
}
finally
{
if (conn.State == ConnectionState.Open)
conn.Close();
}
//Order confirmation alert box - order processed ok
Page.RegisterStartupScript ("orderPro cessed",
"<script>\n" +
"alert('Pedido fechado com sucesso.'); \n" +
"location.href='processOrd er.aspx?or derID=" + _orderID +
"&filter=Processed&orderTy pe=" + _orderType + "';\n" +
"</script>\n");
// "location.href='listOrders .aspx?" + _orderID +
// "&filter=Processed'; \n" +
}
//************************ ********** ********** ********** ********** ********** ****
//2 - closeOrderExec
private void closeOrderExec(int OrderID, int mediaID,
string __mediaLocationStateFlags)
{
SqlConnection conn = new SqlConnection(_getSetting. mssqlsConn );
conn.Open();
SqlCommand myCommand = conn.CreateCommand();
SqlTransaction myTrans;
myTrans = conn.BeginTransaction();
myCommand.Connection = conn;
myCommand.Transaction = myTrans;
try
{
//EAD_ORDERS
//Updates order state: OrderState from open to Processed
myCommand.CommandText = "/* [ 1.1 ] EAD_ORDERS - OrderState from open to Processed */ \n" +
"update EAD_ORDERS set OrderState = 'Processed', \n" +
"processingTimeStamp = getDate() \n" +
"where OrderID = " + OrderID + " \n";
//reader["OrderID"].ToStri ng().Trim( )
myCommand.ExecuteNonQuery( );
//EAD_MEDIA_MASTER
//updates by referencing mediaID, columns MediaLocationState & oficialMediaLocationState
myCommand.CommandText = "/* [ 1.2 ] EAD_MEDIA_MASTER - Change MediaLocationState & oficialMediaLocationState */ \n" +
"update EAD_MEDIA_MASTER set MediaLocationState = '" + __mediaLocationStateFlags + "', \n" +
"oficialMediaLocationState = '" + __mediaLocationStateFlags + "' \n" +
"where mediaID = " + mediaID + " \n";
//reader["mediaID"].ToStri ng().Trim( )
myCommand.ExecuteNonQuery( );
//myCommand.ExecuteNonQuer y();
myTrans.Commit();
}
catch(Exception ex)
{
myTrans.Rollback();
conn.Close();
Response.Redirect("message .aspx?mess age=Erro closeOrderExec: " + Server.UrlEncode(ex.Messag e.ToString ()));
}
finally
{
if (conn.State == ConnectionState.Open)
conn.Close();
}
}
i've tried messing with memory settings everywhere, machine.config....everythi ng!!! can someone help me with this?
//************************
//1 - Closes order
private void closeOrder()
{
//OrderType: collectInCustomer || deliverToCustomer
if(orderType.Value.Trim() == "collectInCustomer")
{
//collectInCustomer » Stored
__mediaLocationStateFlags = "Stored";
}
else
{
//deliverToCustomer » IntheCustomer
__mediaLocationStateFlags = "IntheCustomer";
}
// Response.Write("status: " + __mediaLocationStateFlags +
// "<br>OrderID: " + _orderID);
SqlConnection conn = new SqlConnection(_getSetting.
//[ 1 ] ..........................
//Selects Current order items - Loop
strCommand = "/* [ 1 ] Lists order media items - processOrder.aspx */ \n" +
"select * from EAD_ORDERS where OrderId = " + _orderID + "\n";
try
{
conn.Open();
SqlCommand cmd = new SqlCommand(strCommand,conn
SqlDataReader reader = cmd.ExecuteReader();
while(reader.Read())
{
//Response.Write("item: " + reader["mediaID"].ToString
closeOrderExec(Convert.ToI
Convert.ToInt32(reader["me
__mediaLocationStateFlags)
}
reader.Close();
}
catch(Exception ex)
{
conn.Close();
Response.Redirect("message
}
finally
{
if (conn.State == ConnectionState.Open)
conn.Close();
}
//Order confirmation alert box - order processed ok
Page.RegisterStartupScript
"<script>\n" +
"alert('Pedido fechado com sucesso.'); \n" +
"location.href='processOrd
"&filter=Processed&orderTy
"</script>\n");
// "location.href='listOrders
// "&filter=Processed'; \n" +
}
//************************
//2 - closeOrderExec
private void closeOrderExec(int OrderID, int mediaID,
string __mediaLocationStateFlags)
{
SqlConnection conn = new SqlConnection(_getSetting.
conn.Open();
SqlCommand myCommand = conn.CreateCommand();
SqlTransaction myTrans;
myTrans = conn.BeginTransaction();
myCommand.Connection = conn;
myCommand.Transaction = myTrans;
try
{
//EAD_ORDERS
//Updates order state: OrderState from open to Processed
myCommand.CommandText = "/* [ 1.1 ] EAD_ORDERS - OrderState from open to Processed */ \n" +
"update EAD_ORDERS set OrderState = 'Processed', \n" +
"processingTimeStamp = getDate() \n" +
"where OrderID = " + OrderID + " \n";
//reader["OrderID"].ToStri
myCommand.ExecuteNonQuery(
//EAD_MEDIA_MASTER
//updates by referencing mediaID, columns MediaLocationState & oficialMediaLocationState
myCommand.CommandText = "/* [ 1.2 ] EAD_MEDIA_MASTER - Change MediaLocationState & oficialMediaLocationState */ \n" +
"update EAD_MEDIA_MASTER set MediaLocationState = '" + __mediaLocationStateFlags + "', \n" +
"oficialMediaLocationState
"where mediaID = " + mediaID + " \n";
//reader["mediaID"].ToStri
myCommand.ExecuteNonQuery(
//myCommand.ExecuteNonQuer
myTrans.Commit();
}
catch(Exception ex)
{
myTrans.Rollback();
conn.Close();
Response.Redirect("message
}
finally
{
if (conn.State == ConnectionState.Open)
conn.Close();
}
}
i've tried messing with memory settings everywhere, machine.config....everythi
ASKER
i tried that but the problem is that no data get's on the SQL server, it's like the queries in the private void closeOrderExec method don't get executed!
ASKER
this is a sql server related problem, not a response.redirect problem i think! ...
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
You can see this one
https://www.experts-exchange.com/questions/21300648/Thread-was-being-aborted-error-message-when-I-use-Response-Redirect-in-ASP-net.html?qid=21300648