Ejemplo n.º 1
0
        public static async Task WriteAsync(ServiceInfo dom, string dir)
        {
            try
            {
                MakeSureCacheDirExists(dir);

                var fileName = dom.GetKeyEncoded();

                var json = dom.JsonFromServer;

                if (json.IsNullOrWhiteSpace())
                {
                    json = dom.ToJsonString();
                }

                var path = Path.Combine(dir, fileName);

                using FileStream fs = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write, FileShare.ReadWrite);
                byte[] bytes = Encoding.UTF8.GetBytes(json);
                fs.SetLength(bytes.Length);
                await fs.WriteAsync(bytes, 0, bytes.Length);

                fs.Close();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
Ejemplo n.º 2
0
        public static void WriteServiceInfo(string dir, ServiceInfo info)
        {
            try
            {
                MakeSureCacheDirExists(dir);

                string fileName = info.GetKeyEncoded();
                string content  = JsonConvert.SerializeObject(info);

                WriteFile(Path.Combine(dir, fileName), content);
            }
            catch (Exception ex)
            {
                _logger.Error(ex, $"[NA] failed to write cache for dom: {info.Name}");
            }
        }