Builderdash.JobServiceService.SubscribeToStatus C# (CSharp) Метод

SubscribeToStatus() публичный Метод

public SubscribeToStatus ( System.Guid jobId ) : void
jobId System.Guid
Результат void
        public void SubscribeToStatus(Guid jobId)
        {
            Job job = Jobber.GetJob(jobId);

            IContextChannel contextChannel = OperationContext.Current.Channel;
            string sessionId = contextChannel.SessionId;
            var subscriptionId = Guid.NewGuid();

            IDataOutputCallback callback = OperationContext.Current.GetCallbackChannel<IDataOutputCallback>();

            EventHandler<JobStatusEventArgs> statusOnMessageSent = (s, e) =>
                                                                       {
                                                                           try
                                                                           {
                                                                               callback.SendDataPacket(e.Message);
                                                                           }
                                                                           catch (Exception e2)
                                                                           {
                                                                               Console.WriteLine("Client disconnected.." + e2.Message);
                                                                               UnsubscribeToStatus(jobId, subscriptionId);
                                                                           }
                                                                       };

            job.Status.MessageSent += statusOnMessageSent;

            if (!_callbacks.ContainsKey(jobId))
                _callbacks[jobId] = new List<JobEventSubscription>();

            _callbacks[jobId].Add(new JobEventSubscription { Event = statusOnMessageSent, Callback = callback, SubId = subscriptionId});
        }