示例#1
0
 protected override void CreateActivateControl(
     RunControlOptions options,
     ResetServant <TDescription> component,
     RunControlAttemptStateFactory attemptState,
     Func <IRunControlAttemptState, Task> beforeActivate,
     Func <IRunControlAttemptState, Task> activate,
     Func <Task> deactivate,
     CancellationToken deactivationToken,
     out IRunControl <ResetServant <TDescription> > control)
 =>
 control =
     ReadIA(ref _activateControlFactory, locationName: nameof(_activateControlFactory))
         (options : options, component : component, attemptState : attemptState, beforeStart : beforeActivate, start : activate, stop : deactivate, stopToken : deactivationToken);
示例#2
0
 protected virtual void CreateActivateControl(
     RunControlOptions options,
     TXAppScopeInstance component,
     RunControlAttemptStateFactory attemptState,
     Func <IRunControlAttemptState, Task> beforeActivate,
     Func <IRunControlAttemptState, Task> activate,
     Func <Task> deactivate,
     CancellationToken deactivationToken,
     out IRunControl <TXAppScopeInstance> control)
 =>
 control =
     new RunControl <TXAppScopeInstance>(
         options: options,
         component: component,
         attemptState: attemptState,
         beforeStart: beforeActivate,
         start: activate,
         stop: deactivate,
         stopToken: deactivationToken);
示例#3
0
        // TODO: Put strings into the resources.
        //
        static void P_EnsureOptionsValid(RunControlOptions options)
        {
            switch (options & (RunControlOptions.SingleStart | RunControlOptions.MultipleStart))
            {
            case RunControlOptions.MultipleStart:
            case RunControlOptions.SingleStart:
                break;

            case (RunControlOptions.SingleStart | RunControlOptions.MultipleStart):
                throw
                    new ArgumentException(
                        message: $"Указаны несовместимые опции элемента управления запуском/остановки компонента. Опция '{RunControlOptions.SingleStart.ToString()}' не совместима с опцией '{RunControlOptions.MultipleStart.ToString()}'.",
                        paramName: nameof(options));

            case RunControlOptions.None:
                throw
                    new ArgumentException(
                        message: $"Указанные опции элемента управления запуском/остановки компонента '{options.ToString()}' не определяют режим запуска компонента: однократный или многократный.",
                        paramName: nameof(options));
            }
        }