public void Main()
        {
            XElement  root   = new XElement("noSqlDb");
            XDocument xmlDoc = new XDocument();

            xmlDoc.Add(root);
            XElement element = new XElement("element");

            root.Add(element);
            XElement dbOperation = new XElement("dbOperation", "Search");

            element.Add(dbOperation);
            XElement keyValue = new XElement("key", "NewYork");

            element.Add(keyValue);
            DatabaseController dbController = new DatabaseController();
            var result = dbController.QueryDatabase(xmlDoc.ToString());

            Console.WriteLine(result);
        }
예제 #2
0
        /// <summary>
        /// Mains the specified arguments.
        /// </summary>
        /// <param name="args">The arguments.</param>
        static void Main(string[] args)
        {
            DatabaseController dbController = new DatabaseController();

            Util.verbose = false;
            Server srvr = new Server();

            srvr.ProcessCommandLine(args);
            double totalTime = 0;
            int    count     = 0;

            Console.Title = "Server";
            Console.Write(String.Format("\n  Starting CommService server listening on port {0}", srvr.port));
            Console.Write("\n ====================================================\n");
            Sender   sndr          = new Sender(Util.makeUrl(srvr.address, srvr.port));
            Receiver rcvr          = new Receiver(srvr.port, srvr.address);
            Action   serviceAction = () =>
            {
                Message msg = null;
                while (true)
                {
                    HiResTimer timer = new HiResTimer();
                    timer.Start();
                    msg = rcvr.getMessage();   // note use of non-service method to deQ messages
                    srvr.displayReceivedMsg(msg);
                    if (msg.content == "connection start message")
                    {
                        continue; // don't send back start message
                    }
                    if (msg.content == "done")
                    {
                        Console.Write("\n  client {0} has finished\n", msg.fromUrl);
                        continue;
                    }
                    if (msg.content == "closeServer")
                    {
                        Console.Write("received closeServer");
                        break;
                    }
                    if (msg.fromUrl == "http://localhost:8080/CommService")
                    {
                        continue;
                    }
                    var result = dbController.QueryDatabase(msg.content);
                    msg.content = "received " + msg.content + " from " + msg.fromUrl;
                    Util.swapUrls(ref msg);
                    Message testMsg = new Message {
                        content = result, fromUrl = msg.fromUrl, toUrl = msg.toUrl
                    };
                    srvr.displaySentMsg(msg, result);
                    sndr.sendMessage(testMsg);
                    timer.Stop();
                    sndr.SendServerThroughput(srvr.calculateThroughput(timer, ref totalTime, ++count));
                }
            };

            if (rcvr.StartService())
            {
                rcvr.doService(serviceAction); // so the call doesn't block.
            }
            Util.waitForUser();
        }