public IDisposable Start(IServerInformation serverInformation, Func<IFeatureCollection, Task> application) { var startInstance = new StartInstance(application); _startInstances.Add(startInstance); application(_featuresSupportedByThisHost); return startInstance; }
public IDisposable Start(IServerInformation serverInformation, Func <object, Task> application) { var startInstance = new StartInstance(application); _startInstances.Add(startInstance); return(startInstance); }
public IDisposable Start(IFeatureCollection serverFeatures, Func <IFeatureCollection, Task> application) { var startInstance = new StartInstance(application); _startInstances.Add(startInstance); application(_featuresSupportedByThisHost); return(startInstance); }
public void Start <TContext>(IHttpApplication <TContext> application) { var startInstance = new StartInstance(); _startInstances.Add(startInstance); var context = application.CreateContext(Features); try { application.ProcessRequestAsync(context); } catch (Exception ex) { application.DisposeContext(context, ex); throw; } application.DisposeContext(context, null); }
public Task StartAsync <TContext>(IHttpApplication <TContext> application, CancellationToken cancellationToken) { var startInstance = new StartInstance(); StartInstances.Add(startInstance); var context = application.CreateContext(CreateRequestFeatures()); try { application.ProcessRequestAsync(context); } catch (Exception ex) { application.DisposeContext(context, ex); throw; } application.DisposeContext(context, null); return(Task.CompletedTask); }
public override Task <InstanceState> StartAsync(InstanceContext context, StartInstance command, CancellationToken cancellationToken) => throw new Exception($"Invalid state transition. Instance is already started");
public async Task StartAsync(StartInstance command, CancellationToken cancellationToken) { _currentState = await _currentState.StartAsync(this, command, cancellationToken); await repository.SetInstanceStateAsync(_currentState.State, cancellationToken); }
public override async Task <InstanceState> StartAsync(InstanceContext context, StartInstance command, CancellationToken cancellationToken) { await context.Mediator.ExecuteAsync(command, cancellationToken); return(context.InstanceStates.Get(InstanceStates.Vacant)); }
public abstract Task <InstanceState> StartAsync(InstanceContext context, StartInstance command, CancellationToken cancellationToken);