Exemplo n.º 1
0
 static Metrics()
 {
     if (!Utils.HaveEncryptedJson(Consts.MetricsKeyHeader))
     {
         Utils.ToEcryptedJson(Utils.MakeRandomKey(), Consts.MetricsKeyHeader);
     }
 }
Exemplo n.º 2
0
        public static async ValueTask <string> GetMetricsKey()
        {
            using var _ = await _creationLock.WaitAsync();

            if (!Utils.HaveEncryptedJson(Consts.MetricsKeyHeader))
            {
                var key = Utils.MakeRandomKey();
                await key.ToEcryptedJson(Consts.MetricsKeyHeader);

                return(key);
            }

            try
            {
                return(await Utils.FromEncryptedJson <string>(Consts.MetricsKeyHeader));
            }
            catch (Exception)
            {
                var key = Utils.MakeRandomKey();
                await key.ToEcryptedJson(Consts.MetricsKeyHeader);

                return(key);
            }
        }