public IApiService SetApiService(IApiService service) { if (service == null) { throw new ArgumentNullException("service"); } service.SetAccessToken(AccessToken); var wrapper = new ApiServiceWrapper(this, service); _apiService = wrapper; return(wrapper); }
protected IApiService GetApiService() { lock (this) { // если не заполнен accountId, то вернет заглушку if (string.IsNullOrEmpty(Config.Access.AccountName)) { return(new FakeApiService(ResponseCode.EmptyAccountName, "Не указан AccountName", AccessToken)); } // проверим нужно ли создавать новый канал var service = _apiService; if (service != null) { return(service); } // создаем новый канал service = CreateApiService(AccessToken); _apiService = service; return(service); } }