Ejemplo n.º 1
0
        public int Connect(string uri, string marketId)
        {
            try
            {
                lock (proxies)
                {
                    //int s = uri.LastIndexOf('/');
                    //string hostUrl = uri.Substring(0, s);
                    //string advisorName = uri.Substring(s + 1);

                    //IHost host = (IHost)Activator.GetObject(
                    //    typeof(IHost), hostUrl);

                    //todo add remoting possibility
                    IAdvisorProxy proxy = LoadAdvisorAssembly(uri);//host.GetAdvisor(advisorName);

                    int token = proxy.StartSession(marketId);
                    proxies[token] = proxy;
                    return(token);
                }
            }
            catch (Exception ex)
            {
                logger.Error.Log("Connection failed.", ex);
                return(-1);
            }
        }
Ejemplo n.º 2
0
 public IAdvisorProxy LoadAdvisors(string path)
 {
     string[] dlls = Directory.GetFiles(path, "*.dll", SearchOption.AllDirectories);
     foreach (string dll in dlls)
     {
         IAdvisorProxy proxy = LoadAdvisorAssembly(dll);
         if (proxy != null)
         {
             return(proxy);
         }
     }
     throw new ArgumentException("Can`t find any strategy");
 }
Ejemplo n.º 3
0
        public void Disconnect(int token)
        {
            IAdvisorProxy proxy = proxies[token];

            try
            {
                proxy.EndSession(token);
                proxies[token] = proxy;
            }
            catch (Exception ex)
            {
                logger.Error.Log("Disconnection failed.", ex);
            }
        }