//ajax定时请求 private void AjaxJSON() { string ajaxQS = Request["ajaxstr"]; if (ajaxQS == "getstate") { Max.Installs.Progress p = Settings.Current.ProgressAccess; int isCompleted = Settings.Current.IsCompleted ? 1 : 0; string isError = string.IsNullOrEmpty(p.Error) ? "false" : "true"; string error = p.Error; string step = p.Step.ToString(); string percent = p.Percent.ToString(); string indx = Settings.Current.Error.ToString(); string message = Settings.Current.Message; if (string.IsNullOrEmpty(message)) message = string.Empty; if (Settings.Current.IsCompleted) { //删除、修改文件 SetupManager.ConvertDefaultEmotions(); #if SQLITE if (Settings.Current.SetupMode == Max.Installs.SetupMode.New) error = SetupManager.SetDatabase(); #endif error += SetupManager.ConfigConnectionString(); //try //{ // tryDeleteDirectory("/UserFiles/Avatar"); //} //catch (Exception ex) //{ // CreateLog(ex.Message); //} if (string.IsNullOrEmpty(error)) error = SetupManager.AlterGolbals(); if (string.IsNullOrEmpty(error)) { SetupManager.DeleteOldFiles(); bool deleteImages = (SetupManager.ErrorMessages.Count == 0); if (string.IsNullOrEmpty(message)) message += SetupManager.DeleteSetupFiles(deleteImages); else message += "<br />" + SetupManager.DeleteSetupFiles(deleteImages); message += "<br />提示:任何页面首次访问将需要3-5秒钟才能打开,这是为了加速之后的访问,不是程序有问题(每次重启服务器都会进行加速)"; if (SetupManager.ErrorMessages.Count > 0) { message = message + "<br />升级过程中发生了" + SetupManager.ErrorMessages.Count + "个错误,需要您手动修正,具体请参见安装目录下的InstallLog.txt文件"; string errorMessages = "===================================================================\r\n"; errorMessages += "升级过程中发生了" + SetupManager.ErrorMessages.Count + "个错误,需要您手动修正以下错误\r\n"; int i = 1; foreach (string m in SetupManager.ErrorMessages) { errorMessages += i + "." + m + "\r\n"; i++; } errorMessages += "\r\n最后请删除目录“/Images”\r\n"; errorMessages += "===================================================================\r\n"; SetupManager.CreateLog(errorMessages); } } else { isError = "true"; isCompleted = 0; //只要出错,就中止过程 Settings.Current.ProgressAccess = Max.Installs.Progress.Notset; } } else if (!string.IsNullOrEmpty(p.Error)) { isError = "true"; isCompleted = 0; Settings.Current.ProgressAccess = Max.Installs.Progress.Notset; } string json = "p = {'IsError':" + isError + ",'Error':'" + Globals.SafeJS(error) + "','message':'" + Globals.SafeJS(message) + "','Indx':" + indx + ",'Step':" + step + ",'Percent':" + percent + ",'IsCompleted':" + isCompleted + ",'title':'" + Globals.SafeJS(Settings.Current.ProgressAccess.Title) + "'};"; Response.Write(json); Response.End(); } }