示例#1
0
 /// <summary>Undeploy the service</summary>
 /// <returns>Response of the service undeployment</returns>
 public async Task UndeployService()
 {
     await CallService(new CallServiceParameters {
         ReceiverId = Constants.ServiceManagerId,
         Action     = Constants.ActionUnDeploy,
         Headers    = new List <Header> {
             BusConnection.CreateHeader(Constants.Platform6AppKey + "node.id", _nodeId),
             BusConnection.CreateHeader(Constants.Platform6AppKey + "service.id", _id)
         }
     });
 }
示例#2
0
        /// <summary>Deploy the service</summary>
        /// <param name="parameters">Deployment parameters</param>
        /// <returns>Response of the service deployment</returns>
        private async Task DeployService(DeployParameters parameters)
        {
            if (Client == null)
            {
                await CreateHazelcastClient();
            }

            await CallService(new CallServiceParameters {
                ReceiverId = Constants.ServiceManagerId,
                Action     = Constants.ActionDeploy,
                Headers    = new List <Header> {
                    BusConnection.CreateHeader(Constants.Platform6AppKey + "node.id", _nodeId),
                    BusConnection.CreateHeader(Constants.Platform6AppKey + "service.id", _id),
                    BusConnection.CreateHeader(Constants.Platform6AppKey + "service.path", parameters.Path),
                    BusConnection.CreateHeader(Constants.Platform6AppKey + "service.ctx", parameters.BasePath),
                    BusConnection.CreateHeader(Constants.Platform6AppKey + "service.version", parameters.Versions.Server),
                    BusConnection.CreateHeader(Constants.Platform6AppKey + "service.ui.version", parameters.Versions.Client),
                    BusConnection.CreateHeader(Constants.Platform6AppKey + "service.ui", JsonConvert.SerializeObject(parameters.Ui))
                }
            });
        }
示例#3
0
        /// <summary>Send a request to another service</summary>
        /// <param name="parameters">Required parameters for the request</param>
        /// <returns>Response of the service</returns>
        public async Task <CommonMessage> CallService(CallServiceParameters parameters)
        {
            var receiverId  = parameters.ReceiverId;
            var headers     = new List <Header>();
            var attachments = parameters.Attachments ?? new List <Attachment>();

            if (parameters.Username != null)
            {
                headers.Add(BusConnection.CreateHeader(Constants.RequestPrefix + "user", parameters.Username));
            }
            if (parameters.Action != null)
            {
                headers.Add(BusConnection.CreateHeader(Constants.RequestPrefix + "action", parameters.Action));
            }
            if (parameters.Headers != null)
            {
                headers.AddRange(parameters.Headers);
            }

            var commonMessage = Task.Run(() => BusConnection.CreateCommonMessage(_idKey, parameters.ReceiverId, headers, attachments)).Result;

            return(await SendCommonMessage(receiverId, commonMessage));
        }