110,536
社区成员
发帖
与我相关
我的任务
分享
public void AddLog(string logMsg, int operationType)
{
try
{
AsyncAddLog asy = new AsyncAddLog(AddLogdele);
IAsyncResult ia = asy.BeginInvoke(logMsg, operationType, new AsyncCallback(CallbackMethodAddLog), asy);
}
catch { }
}
private void AddLogdele(string logMsg, int operationType)
{
if (ConfigurationManager.AppSettings["LogSwitch"]!=null&&ConfigurationManager.AppSettings["LogSwitch"] == "on")
{
BasePage basePage = new BasePage();
int userID = basePage.CurrentUser.UserID;
string userName = basePage.CurrentUser.LoginName;
string bussinessName = base.CurrentModule.FULLNAME;
DateTime opertionTime = DateTime.Now;
DateTime responseTime = DateTime.Now;
DateTime recordTime = DateTime.Now;
string com_Code = string.Empty;
if (ConfigurationManager.AppSettings["Com_Code"] != null)
{
com_Code = ConfigurationManager.AppSettings["Com_Code"].ToString();
}
string log_Mark = "";
HttpRequest Request = HttpContext.Current.Request;
string client_IP = Request.ServerVariables.Get("Remote_Addr").ToString();
LogHelperController log = new LogHelperController();
log.AddLog(userID, userName, bussinessName, operationType, opertionTime, responseTime, recordTime, com_Code, log_Mark, client_IP, logMsg);
}
}
/// <summary>
/// 异步执行完以后回收线程
/// </summary>
/// <param name="ar"></param>
private void CallbackMethodAddLog(IAsyncResult ar)
{
AsyncAddLog asy = (AsyncAddLog)ar.AsyncState;
asy.EndInvoke(ar);
}
public delegate void AsyncAddLog(string logMsg, int operationType);
public void AddLog(string logMsg, int operationType)
{
new Thread(()=> AddLogdele(logMsg, operationType)).Start();
}
public void AddLog(string logMsg, int operationType)
{
AsyncAddLog asy = new AsyncAddLog(AddLogdele);
asy.BeginInvoke(logMsg, operationType, null, null);
}
这就足够了。