예제 #1
0
 internal void SendResponseMessage(OrchestrationInstance target, Guid requestId, object message, bool isException)
 {
     lock (this.outbox)
     {
         this.outbox.Add(new ResultMessage()
         {
             Target       = target,
             EventName    = EntityMessageEventNames.ResponseMessageEventName(requestId),
             EventContent = message,
             IsError      = isException,
         });
     }
 }
예제 #2
0
 internal void SendLockResponseMessage(OrchestrationInstance target, Guid requestId)
 {
     lock (this.outbox)
     {
         this.outbox.Add(new LockMessage()
         {
             Target       = target,
             EventName    = EntityMessageEventNames.ResponseMessageEventName(requestId),
             EventContent = new ResponseMessage()
             {
                 Result = "Lock Acquisition Completed", // ignored by receiver but shows up in traces
             },
         });
     }
 }
예제 #3
0
        internal void SendResponseMessage(OrchestrationInstance target, Guid requestId, object message, bool isException)
        {
            lock (this.outbox)
            {
                if (message is RequestMessage requestMessage)
                {
                    this.State.MessageSorter.LabelOutgoingMessage(requestMessage, target.InstanceId, DateTime.UtcNow, this.EntityMessageReorderWindow);
                }

                this.outbox.Add(new ResultMessage()
                {
                    Target       = target,
                    EventName    = EntityMessageEventNames.ResponseMessageEventName(requestId),
                    EventContent = message,
                    IsError      = isException,
                });
            }
        }