private void OnTimerTask(object sender, ElapsedEventArgs args) { _taskTimer.Stop(); Assembly dll = Assembly.GetExecutingAssembly(); string dllFolder = Path.GetDirectoryName(dll.Location); string taskFile = Path.Combine(dllFolder, _taskInfoFileName); try { if (File.Exists(taskFile)) { string taskInfo = File.ReadAllText(taskFile); Log.WriteLog("------------------------------------------------------------------------------------"); Log.WriteLog("取到任务 : " + taskInfo); CommonSettings settings = CommonSettings.DeserializeWithJson(taskInfo); if (settings == null) { return; } ExportEventHandler.Settings = settings; int count = 0; while (count < _maxTryRaiseEventTime) { ExternalEventRequest request = ExportEvent.Raise(); if (request != ExternalEventRequest.Accepted) { count++; Log.WriteLog("ExportEvent.Raise返回" + request.ToString()); Thread.Sleep(1000); } else { File.Delete(taskFile); // 防止重复转同一条任务 break; } } if (count == _maxTryRaiseEventTime) { WriteResultFile("-100"); } } } catch (Exception ex) { Log.WriteLog("ExportEventForm异常 : " + ex.GetType().ToString() + "," + ex.Message + "\r\n" + ex.StackTrace); } finally { _taskTimer.Start(); } }
private void LogRequest(ExternalEventRequest request) { RevitTask.Log($"{Handler.GetName()} {Enum.GetName(typeof(ExternalEventRequest), request)}"); }
private void SpuriousConnectionBtn_Click(object sender, RoutedEventArgs e) { InitSpuriousConnect(); m_spuriousConnection.SelMethod = MtGlobals.SpuriousConnectionMethods.TestSpuriousConnection; ExternalEventRequest externalEventRequest = m_spuriousConnectionEventHandler.Raise(); }