protected void btnSync_Click(object sender, EventArgs e) { InvokeWebServiceJob job = InvokeWebServiceJobAdapter.Instance.LoadSingleDataByJobID(JobID); if (job == null) { string url = ResourceUriSettings.GetConfig().Paths["pcServiceAdSync"].Uri.ToString(); string methodName = "StartADReverseSynchronize"; WfServiceOperationParameterCollection parameters = new WfServiceOperationParameterCollection(); parameters.Add(new WfServiceOperationParameter() { Name = "taskID", Type = WfSvcOperationParameterType.RuntimeParameter, Value = "taskID" }); //特殊用法 string name = "AD逆同步-用户发起"; job = Util.CreateImmediateJob(JobID, name, "AD→PC", url, methodName, parameters); InvokeWebServiceJobAdapter.Instance.Update(job); } //检查是否有任务已经进入执行序列 if (SysTaskAdapter.Instance.Load(w => { w.AppendItem("CATEGORY", "AD→PC"); }).Any()) { BannerNotice notic = (BannerNotice)Master.FindControl("notice"); notic.Text = ("检测到已经存在一个未执行或执行中的同步任务,请等待任务结束或者终止任务后重试。"); } else { SysTask task = job.ToSysTask(); task.Url = this.ResolveUrl("~/lists/ADReverseLog.aspx?id=" + task.TaskID); task.Source = MCS.Library.Principal.DeluxeIdentity.CurrentUser; SysTaskAdapter.Instance.Update(task); } }