Exemplo n.º 1
0
        static void Main(string[] args)
        {
            AppDomain.CurrentDomain.SetData("DataDirectory", Application.StartupPath);

            CourseDBContext context = new CourseDBContext();

            ObjectMessageQueue.InitializeQueue(ObjectMessageQueue.DB_REQUEST);
            ObjectMessageQueue queue = new ObjectMessageQueue();

            while (true)
            {
                try
                {
                    Object obj = queue.receiveObject(ObjectMessageQueue.DB_REQUEST);
                    GenericRequest gen_req = obj as GenericRequest;

                    if (gen_req == null)
                    {
                        Console.WriteLine("Error processing request, it is not a request object!");
                        queue.sendObject(null, ObjectMessageQueue.DB_RESPONSE);
                    }
                    else
                    {
                        Console.WriteLine("Fetching data...");
                        MessageProcessor parser = new MessageProcessor(context, gen_req);
                        try
                        {
                            Object result = typeof(MessageProcessor).GetMethod(gen_req.Method.ToString()).Invoke(parser, null);
                            Console.WriteLine("It worked!");
                            queue.sendResponse(result, ObjectMessageQueue.DB_RESPONSE);
                        }
                        catch (SqlException)
                        {
                            Console.WriteLine("An error occurred.");
                        }
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.ToString());
                    continue;
                }
            }
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            AppDomain.CurrentDomain.SetData("DataDirectory", Application.StartupPath);

            context = new CourseDBContext();

            ObjectMessageQueue.InitializeQueue(ObjectMessageQueue.DB_REQUEST);
            queue = new ObjectMessageQueue();

            while (true)
            {
                try
                {
                    Object obj = queue.receiveObject(ObjectMessageQueue.DB_REQUEST);
                    new Thread(ProcessRequest).Start(obj);
                    //ProcessRequest(obj);
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.ToString());
                    continue;
                }
            }
        }
Exemplo n.º 3
0
        static void Main(string[] args)
        {
            AppDomain.CurrentDomain.SetData("DataDirectory", Application.StartupPath);

            AccountDBContext context = new AccountDBContext();

            ObjectMessageQueue queue = new ObjectMessageQueue();
            ObjectMessageQueue.InitializeQueue(ObjectMessageQueue.AUTH_REQUEST);

            contextQueue = new ConcurrentQueue<AccountDBContext>();
            context_lock = new object();
            context_count = 0;
            ThreadPool.SetMaxThreads(25, 0);
            ThreadPool.SetMinThreads(5, 0);

            while (true)
            {
                try
                {
                    Object obj = queue.receiveObject(ObjectMessageQueue.AUTH_REQUEST);
                    GenericRequest gen_req = obj as GenericRequest;
                    gen_req.requester_guid = queue.RequestGuid;
                    gen_req.requester_ip = queue.RequestIP;
                    ThreadPool.QueueUserWorkItem(DoMessage, obj);
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.ToString());
                    continue;
                }
            }
        }