示例#1
0
        public async Task ReleaseAsync()
        {
            // TODO: Locking on sessionId and isActive

            BuildTasks.Stop();

            if (messageClient.IsConnected)
            {
                if (!string.IsNullOrEmpty(AgentSessionId))
                {
                    var message = new BuildSessionReleaseRequest {
                        SessionId = AgentSessionId,
                    };

                    try {
                        await messageClient.Send(message)
                        .GetResponseAsync();
                    }
                    catch (Exception error) {
                        Log.Error($"Failed to release Agent Session '{AgentSessionId}'! {error.Message}");
                    }
                }

                await messageClient.DisconnectAsync();
            }
        }
示例#2
0
        protected override async Task OnReleaseSessionAsync()
        {
            var message = new BuildSessionReleaseRequest {
                AgentSessionId = AgentSessionId,
            };

            await MessageClient.Send(message)
            .GetResponseAsync();
        }