コード例 #1
0
 /// <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);
     });
 }
コード例 #2
0
        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);
        }
コード例 #3
0
 /// <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);
 }
コード例 #4
0
 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;
             }
         }
     }
 }
コード例 #5
0
 private void DisposeEnd()
 {
     persistentPropertyBag.SetProperty("VS.TelemetryApi.ChannelsDisposeLatency", (int)disposeLatencyTimer.ElapsedMilliseconds);
     RemoveAllChannels();
 }