public bool Connect(string address, string name, string password) { if (address == null) throw new ArgumentNullException("address"); if (name == null) throw new ArgumentNullException("name"); if (Version == null) { Log.Default.WriteLine(LogLevels.Error, "Cannot connect, version is not set"); return false; } if (_proxy != null) { Log.Default.WriteLine(LogLevels.Error, "Proxy already created, must disconnect before reconnecting"); return false; } try { _proxy = _factory.CreateProxy(this, address); _proxy.ConnectionLost += OnConnectionLost; Name = name; _proxy.Do(x => x.AdminConnect(Version, name, password)); return true; } catch(Exception ex) { Log.Default.WriteLine(LogLevels.Error, "Problem in Connect. Exception:{0}", ex.ToString()); return false; } }