/// <summary> /// Set persisted shared property for the session means set shared property for the default context for /// this session and any future sessions on the machine. /// </summary> /// <param name="propertyName"></param> /// <param name="propertyValue"></param> public void SetPersistedSharedProperty(string propertyName, string propertyValue) { SetPersistedSharedProperty(propertyName, propertyValue, delegate { persistentSharedProperties.SetProperty(propertyName, propertyValue); }); }
private string CalculateMACAddressHash() { string persistedMacHash = GetPersistedMacHash(); if (persistedMacHash != null) { OnMACAddressHashCalculationCompletedEvent(EventArgs.Empty); return(persistedMacHash); } try { if (MacHardwareIdentification.TryGetFirstPrimaryMacAddress(out string macAddress)) { string text = MACInformationProvider.HashMACAddress(macAddress); persistentStorage.SetProperty(MACInformationProvider.MacAddressKey, text); persistentStorage.SetProperty("mac.info.provider.version", "1"); OnMACAddressHashCalculationCompletedEvent(EventArgs.Empty); return(text); } } catch (Exception) { } OnMACAddressHashCalculationCompletedEvent(EventArgs.Empty); return(MACInformationProvider.ZeroHash); }
/// <summary> /// End synchronous dispose /// </summary> private void DisposeEnd() { lock (startedLock) { isSessionStarted = false; } persistentPropertyBag.SetProperty("VS.TelemetryApi.DroppedEventsDuringDisposing", numberOfDroppedEventsInDisposing); persistentPropertyBag.SetProperty("VS.TelemetryApi.TotalDisposeLatency", (int)disposeLatencyTimer.ElapsedMilliseconds); }
public void RunProcessIfNecessary(Action <string> onComplete) { if (needToRunProcess) { lock (needToRunProcessLock) { if (needToRunProcess) { processTools.RunCommand(command, delegate(string data) { if (data != null) { string text = ParseMACAddress(data); if (text != null) { persistentStorage.SetProperty(MacAddressKey, text); onComplete(text); } } OnMACAddressHashCalculationCompletedEvent(EventArgs.Empty); }, commandArgs); needToRunProcess = false; } } } }
private void DisposeEnd() { persistentPropertyBag.SetProperty("VS.TelemetryApi.ChannelsDisposeLatency", (int)disposeLatencyTimer.ElapsedMilliseconds); RemoveAllChannels(); }