private void reauthToolStripMenuItem_Click(object sender, EventArgs e) { var sm = new SessionManager(2369574, "status,wall,photos,audio"); _sessionInfo = sm.ReLogin(); _isLoggedIn = false; Reauth(); }
public void Auth() { //чтобы форма с авторизацией не фризила поток, а продолжала свою работу сразу после эвента //https://stackoverflow.com/questions/1916095/how-do-i-make-an-eventhandler-run-asynchronously //Task.Factory.FromAsync( // (asyncCallback, @object) => // { // var onConnecting = this.Connecting; // return onConnecting != null ? onConnecting.BeginInvoke(this, GetNetworkName(), asyncCallback, @object) : null; // }, // this.Connecting.EndInvoke, null); OnConnecting(); ShareDestionation = ShareDestinations.Messages; _sessionManager = new SessionManager(2369574, "status,wall,photos,audio,messages"); if (_needRelogin) { _sessionManager.ReLogin(); _isLogged = false; _needRelogin = false; } if (!_isLogged) { // Соединяемся с VK API, передаем ему ключ приложения и необходимые нам разрешения _sessionInfo = _sessionManager.GetOAuthSession(); if (_sessionInfo != null) { _isLogged = true; } Auth(); } // Выполняется если пользователь залогинен else { _manager = new ApiManager(_sessionInfo) { Timeout = 10000 }; _statusFactory = new StatusFactory(_manager); _friendsFactory = new FriendsFactory(_manager); _audioFactory = new AudioFactory(_manager); _messagesFactory = new MessagesFactory(_manager); _photosFactory = new PhotosFactory(_manager); _wallFactory = new WallFactory(_manager); OnConnected(_sessionInfo.UserId.ToString()); } }