public void InvokeMethod(Reference reference, int methodId, object[] arguments, InvokeMethodOptions options) { var sending = InvokerContext.Caller; var request = new InvokeMethodRequest(); request.MethodId = methodId; request.Arguments = arguments; var message = new Message(); message.Guid = Guid.NewGuid(); if (sending != null) { message.SendingSlio = sending.Address; message.SendingId = sending.Identity; } message.TargetSlio = reference.Address; message.TargetId = reference.Identity; message.Direction = options.HasFlag(InvokeMethodOptions.OneWay) ? Message.Directions.OneWay : Message.Directions.Request; message.BodyObject = request; if (options.HasFlag(InvokeMethodOptions.OneWay)) { messageCenter.SendMessage(message); return; } messageCenter.SendRequest(message); }
public void InvokeMethod(ServiceReference reference, int methodId, object[] arguments, InvokeMethodOptions options = InvokeMethodOptions.None) { var request = new MethodInvokeRequest(); request.MethodId = methodId; request.Arguments = arguments; var message = new Message(); message.Guid = Guid.NewGuid(); message.Target = reference.InterfaceId; message.BodyObject = request; message.Direction = options.HasFlag(InvokeMethodOptions.OneWay) ? Message.Directions.OneWay : Message.Directions.Request; if (clientOptions.Credentials != null) { message.Authorization = clientOptions.Credentials.Create(); } if (options.HasFlag(InvokeMethodOptions.OneWay)) { clientRuntime.SendMessage(message); return; } clientRuntime.SendRequest(message, clientOptions.RequestTimeout); }