多线程实现异步,工作随便

来源:互联网 发布:ping测试网络什么意思 编辑:程序博客网 时间:2024/04/29 20:30
//0024753: SIS 3.0 - System - Trace User's Program Usage to monitor User's Usage and can help on System Troubleshooting                 if (!string.IsNullOrEmpty(Request.QueryString["AddPO"]))                {                    if (Request.QueryString["AddPO"].ToString() == "1")                    {                        //开启另外一个线程去执行插入log的方法                        Thread t = new Thread(new ThreadStart(delegate                        {                            Common.AddProgramTraceLog(oUserInfo, PermissionObjectID.Purchase_Order_Maintenance, PermissionOperationID.Button_Add);                        }));                        t.Start();                    }                }

/// <summary>
/// Developer:billyang
/// Date:9/20/2011
/// Mantis:0024753: SIS 3.0 - System - Trace User's Program Usage to monitor User's Usage and can help on System Troubleshooting
/// </summary>
/// <param name="oUserInfo">The o user info.</param>
/// <param name="iObjectId">The i object id.</param>
/// <param name="iOperationId">The i operation id.</param>
public static void AddProgramTraceLog(CRM.ClassInfo.AdminInfo.UserInfo oUserInfo, PermissionObjectID iObjectId, PermissionOperationID iOperationId)
{
string sSQL = "";
string sEnableProgramTraceLog = Global.EnableProgramTraceLog;
try
{
if (sEnableProgramTraceLog.ToUpper() == "YES")
{
CRM.DBUtility.DataAccessManager dam = new CRM.DBUtility.DataAccessManager(CRM.DBUtility.SystemDatabases.JobsDB_Master_ReadWrite, oUserInfo.GetRegionCode(), oUserInfo.GroupProductID);
sSQL = "USP_SIS30_AddProgramTraceLog";
SqlParameter[] sps ={
new SqlParameter("@ObjectId", SqlDbType.Int),
new SqlParameter("@OperationId", SqlDbType.Int),
new SqlParameter("@CreateBy", SqlDbType.Int)
};

sps[0].Value = Convert.ToInt32(iObjectId);
sps[1].Value = Convert.ToInt32(iOperationId);
sps[2].Value = oUserInfo.ACMUserID;

dam.ExecuteNonQuery(CommandType.StoredProcedure, sSQL, sps);
}
else {
return;
}

}

catch (Exception ex)
{
StringBuilder sAddTraceLog = new StringBuilder();
sAddTraceLog.Append("Add Data To ACM_ProgramTraceLog Table");
sAddTraceLog.Append(Environment.NewLine);
sAddTraceLog.Append("SQL: ");
sAddTraceLog.Append(sSQL);
sAddTraceLog.Append(Environment.NewLine);
sAddTraceLog.Append("ex: ");
sAddTraceLog.Append(ex.ToString());
throw new Exception(sAddTraceLog.ToString(), ex);
}
}




原创粉丝点击