示例#1
0
 /// <summary>
 /// Brings the MLifter to front.
 /// </summary>
 /// <remarks>Documented by Dev05, 2007-11-28</remarks>
 public static void BringMLifterToFront()
 {
     RemotingConfiguration.RegisterWellKnownClientType(typeof(GlobalDictionaryLoader), ClientURL);
     GlobalDictionaryLoader loader = new GlobalDictionaryLoader();
     loader.BringToFront();
 }
示例#2
0
文件: Remoting.cs 项目: hmehr/OSS
        /// <summary>
        /// Connects this instance.
        /// </summary>
        /// <remarks>Documented by Dev02, 2009-06-26</remarks>
        /// <exception cref="MLCouldNotBeStartedException">Occurs when MemoryLifter did not start or did not react to connection attempts.</exception>
        /// <exception cref="MLNotReadyException">Occurs when MemoryLifter is not ready for being remote controlled.</exception>
        private void Connect()
        {
            Debug.WriteLine("Connecting to MemoryLifter...");
            MLifter.Program.GetIPCData(out UniqueChannelName, out UniqueChannelPortName, out ClientURL, out ServiceURL);
            loader = (GlobalDictionaryLoader)RemotingServices.Connect(typeof(GlobalDictionaryLoader), ClientURL);

            int tries;

            try
            {
                tries = 20;
                while (!loader.IsMLReady())
                {
                    Thread.Sleep(50);
                    if (tries-- < 0)
                        throw new MLNotReadyException();
                }
            }
            catch (RemotingException)
            {
                StartML();
                Thread.Sleep(200);

                try
                {
                    tries = 100;
                    while (!loader.IsMLReady())
                    {
                        Thread.Sleep(50);
                        if (tries-- < 0)
                            throw new MLNotReadyException();
                    }
                }
                catch (RemotingException)
                {
                    throw;
                }
            }

            return;
        }
示例#3
0
 /// <summary>
 /// Sends the path to the IPC-Server.
 /// </summary>
 /// <param name="Path">The path.</param>
 /// <remarks>Documented by Dev05, 2007-11-28</remarks>
 public static void SendPathToIPC(string Path)
 {
     RemotingConfiguration.RegisterWellKnownClientType(typeof(GlobalDictionaryLoader), ClientURL);
     GlobalDictionaryLoader loader = new GlobalDictionaryLoader();
     loader.LoadDictionary(Path);
 }
示例#4
0
文件: Remoting.cs 项目: hmehr/OSS
 /// <summary>
 /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
 /// </summary>
 /// <remarks>Documented by Dev02, 2009-06-29</remarks>
 public void Dispose()
 {
     if (loader != null)
         loader = null;
 }