public void Start()
        {
            if (IsStarted)
            {
                return;
            }

            State = RequesterState.RequestStarting;
            AppModel.AttachConversation(this);
            if (IsAutoRecoverable)
            {
                Peer.AddAutoConnectRequester(this);
            }

            PostPendableAction(OnInitRequest, timeOut
                               , () =>
            {
                RequestTimeouted?.Invoke();
                //如果请求超时了,回滚到初始状态。
                State = RequesterState.Attached;
            });
        }
 internal virtual void End()
 {
     timer?.Stop();
     AppModel.RemoveConversation(this);
 }
 public static AppModel Init(Env container)
 {
     _instance = new AppModel(container);
     return(_instance);
 }