Beispiel #1
0
        private static OrbResponse OnExecuteRequest(string alias, OrbClientInfo clientInfo, OrbRequestArgs args)
        {
            OrbClientState client = GetClientState(clientInfo);

            if (client == null)
            {
                return(null);
            }

            OrbResponse response = null;

            try
            {
                OrbRequest request = GetRequest(alias, client);

                if (request != null)
                {
                    ManualResetEvent reset = new ManualResetEvent(false);
                    request.ResetEvent = reset;

                    new RequestSyncTimer(client, request, args).Start();
                    reset.WaitOne();

                    response = request.Response;
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("Exception occurred for OrbServer request {0}\nMessage: {1}", alias, e.Message);
            }

            return(response);
        }
Beispiel #2
0
        private static OrbResponse OnExecuteRequest(string alias, OrbClientInfo clientInfo, OrbRequestArgs args)
        {
            OrbClientState client = GetClientState(clientInfo);

            if (client == null)
            {
                return(null);
            }

            OrbRequest  request  = GetRequest(alias, client);
            OrbResponse response = null;

            if (request != null)
            {
                ManualResetEvent reset = new ManualResetEvent(false);
                request.ResetEvent = reset;

                new RequestSyncTimer(client, request, args).Start();
                reset.WaitOne();

                response = request.Response;
            }

            return(response);
        }
Beispiel #3
0
        private static OrbRequest GetRequest(string alias, OrbClientState client)
        {
            OrbRegistryEntry entry   = (OrbRegistryEntry)m_Registry[alias];
            OrbRequest       request = null;

            if (entry != null)
            {
                if (CanConnectionAccess(client, entry))
                {
                    try
                    {
                        request = (OrbRequest)Activator.CreateInstance(entry.Type);
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine("OrbServer Exception: " + e.Message);
                    }
                }
            }

            return(request);
        }
Beispiel #4
0
			public RequestSyncTimer(OrbClientState client, OrbRequest request, OrbRequestArgs args) : base(TimeSpan.FromMilliseconds(20.0), TimeSpan.FromMilliseconds(20.0))
			{
				m_Client = client;
				m_Request = request;
				m_Args = args;
			}
Beispiel #5
0
 public RequestSyncTimer(OrbClientState client, OrbRequest request, OrbRequestArgs args) : base(TimeSpan.FromMilliseconds(20.0), TimeSpan.FromMilliseconds(20.0))
 {
     m_Client  = client;
     m_Request = request;
     m_Args    = args;
 }