public virtual void Resume() { if(this.ServerState != ServerState.Paused) return; var state = _serverState; try { _serverState = InnerServerState.Resuming; //激发“Resuming”事件,如果该事件处理程序返回真表示取消后续的停止操作 if(this.OnResuming()) { _serverState = state; return; } } catch { _serverState = state; throw; } try { //调用恢复抽象方法,以执行实际的停止操作 this.OnResume(); //更新当前服务器状态 _serverState = InnerServerState.None; //激发“Resumed”事件 this.OnResumed(EventArgs.Empty); } catch { _serverState = state; throw; } }
public virtual void Pause() { if(this.ServerState != ServerState.Running) return; var state = _serverState; try { _serverState = InnerServerState.Pausing; //激发“Pausing”事件,如果该事件处理程序返回真表示取消后续的停止操作 if(this.OnPausing()) { _serverState = state; return; } } catch { _serverState = state; throw; } try { //调用暂停抽象方法,以执行实际的停止操作 this.OnPause(); //更新当前状态为已暂停 _serverState = InnerServerState.Paused; //激发“Paused”事件 this.OnPaused(EventArgs.Empty); } catch { _serverState = state; throw; } }
/// <summary> /// 初始化 QuartzServerBase 类的新实例。 /// </summary> /// <param name="name">服务器名称。</param> protected QuartzServerBase(string name) : base(name) { _serverState = InnerServerState.None; }
/// <summary> /// 初始化 QuartzServerBase 类的新实例。 /// </summary> /// <param name="name">服务器名称。</param> /// <param name="address">侦听地址。</param> protected QuartzServerBase(string name, [TypeConverter(typeof(IPEndPointConverter))]IPEndPoint address) : base(name) { if(address == null) throw new ArgumentNullException("address"); _serverState = InnerServerState.None; _address = address; }
/// <summary> /// 初始化 QuartzServerBase 类的新实例。 /// </summary> protected QuartzServerBase() { _serverState = InnerServerState.None; }