При остановке службы с помощью Pub / Sub и работе в Google App Engine получена следующая трассировка стека:
System.ObjectDisposedException: Safe handle has been closed
at System.Runtime.InteropServices.SafeHandle.DangerousAddRef
at System.StubHelpers.StubHelpers.SafeHandleAddRef
at Grpc.Core.Internal.ChannelSafeHandle.CreateCall
at Grpc.Core.Internal.AsyncCall`2.CreateNativeCall
at Grpc.Core.Internal.AsyncCall`2.Initialize
at Grpc.Core.Internal.AsyncCall`2.StartDuplexStreamingCall
at Grpc.Core.Calls.AsyncDuplexStreamingCall[TRequest,TResponse]
at Grpc.Core.DefaultCallInvoker.AsyncDuplexStreamingCall[TRequest,TResponse]
at Grpc.Core.Internal.InterceptingCallInvoker.AsyncDuplexStreamingCall[TRequest,TResponse]
at Google.Cloud.PubSub.V1.Subscriber.SubscriberClient.StreamingPull
at Google.Api.Gax.Grpc.ApiBidirectionalStreamingCall.<>c__DisplayClass0_0`2.<Create>b__0
at Google.Api.Gax.Grpc.ApiBidirectionalStreamingCall`2.Call
at Google.Cloud.PubSub.V1.SubscriberServiceApiClientImpl.StreamingPull
at Google.Cloud.PubSub.V1.SubscriberClientImpl.SingleChannel.<StartAsync>d__18.MoveNext
Для проекта мы используем ASP.NET Core с this библиотека для обработки связи Pub / Sub.Проблема отсутствует при локальной отладке с использованием эмулятора Pub / Sub.Следовательно, мы предполагаем, что это как-то связано с тем, как App Engine выводит из строя док-контейнер?Только перехват исключения не будет удовлетворительным решением, так как мы рискуем оставить обработанные сообщения неподтвержденными.Можем ли мы каким-либо образом решить эту проблему, чтобы мы могли безопасно остановить наш сервис?
Заранее спасибо.