Пример #1
0
        static void Main(string[] args)
        {
            //Debugger.Launch();

            if (args.Length < 6)
            {
                Console.WriteLine("Invalid Argument Count");
                return;
            }

            String  type    = args[0];
            int     port    = Int32.Parse(args[1]);
            Boolean fullLog = args[2].Equals("full") ? true : false;
            String  routing = args[3];

            String[] input       = args[4].Split(',');
            String[] output      = args[5].Split(',');
            String[] output_op   = args[6].Split(',');
            String[] replicas_op = args[7].Split(',');

            String[] parameters = null;

            if (args.Length > 8)
            {
                parameters = args[8].Split(',');

                if (parameters[0] == null || parameters[0].Equals(""))
                {
                    parameters = null;
                }
            }

            if (input[0] == null || input[0].Equals(""))
            {
                input = null;
            }

            if (output[0] == null || output[0].Equals(""))
            {
                output = null;
            }

            TcpChannel channel = new TcpChannel(port);

            ChannelServices.RegisterChannel(channel, true);

            RemoteOperator remoteOperator = createOperatorType(type, fullLog, routing, input, output, output_op, replicas_op, parameters);

            RemotingServices.Marshal(remoteOperator, "op", remoteOperator.GetType());

            Console.WriteLine("Started Operator " + type + " on port " + port);
            Console.ReadLine();
        }