Пример #1
0
        public override Task <Stop.Types.Response> Stop(
            Stop.Types.Request request, Grpc.Core.ServerCallContext context)
        {
            var response = new Stop.Types.Response();

            var providerType = _schemaResolver.PluginDetails.Provider;

            if (providerType.HasStopSkill())
            {
                providerType.InvokeStopSkill(
                    PluginProviderInstance,
                    readResult: (resultType, result) => {
                    var error = ((HasStop.Result)result).Error;
                    if (!string.IsNullOrEmpty(error))
                    {
                        response.Error = error;
                    }
                });
            }

            _log.LogInformation("Stopping Plugin Server");
            _pluginServer.Stop();

            return(Task.FromResult(response));
        }
Пример #2
0
 public override Task <Stop.Types.Response> Stop(Stop.Types.Request request, ServerCallContext context)
 {
     _lifetime.StopApplication();
     _lifetime.ApplicationStopped.WaitHandle.WaitOne();
     return(Task.FromResult(new Stop.Types.Response()));
 }