private void FlushBufferAndStart() { RemoteSettingsLogMessage result; lock (flushLock) { if (isStarted) { return; } List <KeyValuePair <string, string> > mainIdentifiers = new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("applicationName", filterProvider.GetApplicationName()), new KeyValuePair <string, string>("applicationVersion", filterProvider.GetApplicationVersion()), new KeyValuePair <string, string>("branchName", filterProvider.GetBranchBuildFrom()) }; settingsProvider.MainIdentifiers = mainIdentifiers; settingsProvider.Path = Path.GetTempPath(); settingsProvider.Folder = "VSRemoteSettingsLog"; logFile.Initialize(settingsProvider); while (Buffer.TryDequeue(out result)) { LogMessageNoBuffer(result); } isStarted = true; } while (Buffer.TryDequeue(out result)) { LogMessageNoBuffer(result); } }
private async Task <string> BuildRequestParametersAsync(IEnumerable <string> previouslyCachedRuleIds) { ActionRequestParameters actionRequestParameters = new ActionRequestParameters { MachineId = HandleGuidParameter(remoteSettingsFilterProvider.GetMachineId()), UserId = HandleGuidParameter(remoteSettingsFilterProvider.GetUserId()) }; ActionRequestParameters actionRequestParameters2 = actionRequestParameters; actionRequestParameters2.VsoId = await remoteSettingsFilterProvider.GetVsIdAsync().ConfigureAwait(false); actionRequestParameters.Culture = remoteSettingsFilterProvider.GetCulture(); actionRequestParameters.Version = remoteSettingsFilterProvider.GetApplicationVersion(); actionRequestParameters.VsSku = remoteSettingsFilterProvider.GetVsSku(); actionRequestParameters.NotificationsCount = remoteSettingsFilterProvider.GetNotificationsCount(); actionRequestParameters.AppIdPackage = HandleGuidParameter(remoteSettingsFilterProvider.GetAppIdPackageGuid()); actionRequestParameters.MacAddressHash = remoteSettingsFilterProvider.GetMacAddressHash(); actionRequestParameters.ChannelId = remoteSettingsFilterProvider.GetChannelId(); actionRequestParameters.ChannelManifestId = remoteSettingsFilterProvider.GetChannelManifestId(); actionRequestParameters.ManifestId = remoteSettingsFilterProvider.GetManifestId(); actionRequestParameters.OsType = remoteSettingsFilterProvider.GetOsType(); actionRequestParameters.OsVersion = remoteSettingsFilterProvider.GetOsVersion(); actionRequestParameters.ExeName = remoteSettingsFilterProvider.GetApplicationName(); actionRequestParameters.IsInternal = HandleBoolParameter(remoteSettingsFilterProvider.GetIsUserInternal()); actionRequestParameters.CachedRuleIds = previouslyCachedRuleIds; actionRequestParameters.SessionId = targetedNotificationsTelemetry.SessionId; return(JsonConvert.SerializeObject((object)actionRequestParameters)); }
public VersionScopeFilterProvider(RemoteSettingsFilterProvider filterProvider) { CodeContract.RequiresArgumentNotNull <RemoteSettingsFilterProvider>(filterProvider, "filterProvider"); fileVersionInfo = new Lazy <FileVersion>(delegate { FileVersion.TryParse(filterProvider.GetApplicationVersion(), out FileVersion value); return(value); });
public IRemoteSettingsStorageHandler Build(ICollectionKeyValueStorage storage, bool usePrefix, RemoteSettingsFilterProvider filterProvider, IScopeParserFactory scopeParserFactory) { CodeContract.RequiresArgumentNotNull <RemoteSettingsFilterProvider>(filterProvider, "filterProvider"); List <string> list = new List <string>(); list.AddIfNotEmpty(filterProvider.GetApplicationName()); list.AddIfNotEmpty(filterProvider.GetApplicationVersion()); list.AddIfNotEmpty(filterProvider.GetBranchBuildFrom()); string text = string.Join("\\", list); string collectionPathPrefix = (!usePrefix) ? text : string.Format("{0}\\{1}", "Software\\Coding4Fun\\VisualStudio\\RemoteSettings", text, CultureInfo.InvariantCulture); return(new RemoteSettingsStorageHandler(storage, collectionPathPrefix, scopeParserFactory, false, logger)); }