예제 #1
0
            public async Task OnStoppingServiceAsync(OperationContext context)
            {
                if (ProxyService != null)
                {
                    await ProxyService.ShutdownAsync(context).IgnoreFailure();
                }
                // Not passing cancellation token since it will already be signaled
                await ProxyHost.StopAsync();

                ProxyHost.Dispose();
            }
        private async Task <IProxy <CoordinationManagerSkeleton> > CreateProxyAsync(CancellationToken cancellation)
        {
            ProxyHost proxyHost = null;
            IProxy <CoordinationManagerSkeleton> proxy;

            try
            {
                proxyHost = await _debugConnection.GetProxyHostAsync(cancellation);

                proxy = await proxyHost.CreateAsync <CoordinationManagerSkeleton>(cancellation);
            }
            catch (OperationCanceledException)
            {
                proxyHost?.Dispose();
                throw;
            }

            return(proxy);
        }
예제 #3
0
        private async Task <IProxy <LogicalEndPointSkeleton> > CreateProxyAsync(CancellationToken cancellation)
        {
            ProxyHost proxyHost = null;
            IProxy <LogicalEndPointSkeleton> proxy;

            try
            {
                proxyHost = await _debugConnection.GetProxyHostAsync(cancellation);

                proxy = await proxyHost.CreateAsync <LogicalEndPointSkeleton>(new object[] { EndPoint }, cancellation);
            }
            catch (OperationCanceledException)
            {
                proxyHost?.Dispose();
                throw;
            }

            return(proxy);
        }