示例#1
0
        protected override void Run()
        {
            Debug.WriteLine("#> [DeployRpcService]: Started Deploy App " + appName + "/" + appVersion + " on Remote Server (" + server.Ip + ":" + server.DeployAppPort + ")");
            ClientTcp socket = null;

            //async programming, but run synch mode
            task = new DependenceFileLoadTask();
            task.RunSynchronous();

            try
            {
                socket = new ClientTcp(false);
                socket.Connect(server.Ip, server.DeployAppPort);

                string deployRequest = "mpos_deploy_app:" + appName + ":" + appVersion;
                //Debug.WriteLine("[DEBUG]: sent -> " + deployRequest);
                Sent(socket, deployRequest);
                if (!ReceiveFeedbackMessage(socket))
                {
                    throw new NetworkException("Problems in deploy request");
                }

                string mposDependence = "mpos_dependence_size:" + task.dependenceFiles.Count;
                //Debug.WriteLine("[DEBUG]: sent -> " + mposDependence);
                Sent(socket, mposDependence);
                if (!ReceiveFeedbackMessage(socket))
                {
                    throw new NetworkException("Problems in deploy request");
                }

                SentFiles(socket);
                server.RpcServicePort = ReceiveServicePort(socket);
            }
            catch (Exception e)
            {
                Debug.WriteLine("## [DeployRpcService]: Any problem in I/O processing!\n" + e.ToString());
            }
            finally
            {
                Debug.WriteLine("#> [DeployRpcService]: Finished Deploy App " + appName + "/" + appVersion + " on Remote Server port: " + server.RpcServicePort);
                socket.Close();
            }
        }
示例#2
0
		protected override void Run()
		{
			Debug.WriteLine("#> [DeployRpcService]: Started Deploy App " + appName + "/" + appVersion + " on Remote Server (" + server.Ip + ":" + server.DeployAppPort + ")");
			ClientTcp socket = null;

			//async programming, but run synch mode
			task = new DependenceFileLoadTask();
			task.RunSynchronous();

			try
			{
				socket = new ClientTcp(false);
				socket.Connect(server.Ip, server.DeployAppPort);

				string deployRequest = "mpos_deploy_app:" + appName + ":" + appVersion;
				//Debug.WriteLine("[DEBUG]: sent -> " + deployRequest);
				Sent(socket, deployRequest);
				if (!ReceiveFeedbackMessage(socket))
				{
					throw new NetworkException("Problems in deploy request");
				}

				string mposDependence = "mpos_dependence_size:" + task.dependenceFiles.Count;
				//Debug.WriteLine("[DEBUG]: sent -> " + mposDependence);
				Sent(socket, mposDependence);
				if (!ReceiveFeedbackMessage(socket))
				{
					throw new NetworkException("Problems in deploy request");
				}

				SentFiles(socket);
				server.RpcServicePort = ReceiveServicePort(socket);
			}
			catch (Exception e)
			{
				Debug.WriteLine("## [DeployRpcService]: Any problem in I/O processing!\n" + e.ToString());
			}
			finally
			{
				Debug.WriteLine("#> [DeployRpcService]: Finished Deploy App " + appName + "/" + appVersion + " on Remote Server port: " + server.RpcServicePort);
				socket.Close();
			}
		}