ConfigData.cs 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. 
  2. using log4net;
  3. using log4net.Config;
  4. using Microsoft.Extensions.Configuration;
  5. using Microsoft.Extensions.Configuration.Json;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Configuration;
  9. using System.IO;
  10. using System.Reflection;
  11. using System.Text;
  12. using System.Xml;
  13. using ConvertLog.thread;
  14. using log4net.Repository.Hierarchy;
  15. using System.Data;
  16. namespace ConvertLog.common
  17. {
  18. public class ConfigData
  19. {
  20. public static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  21. public static string AppId = "";
  22. public static string pathFileImport = "";
  23. public static IDictionary<int, string> threadIsFree;
  24. public static IDictionary<string, string> languageMyToEn;
  25. public static IDictionary<string, string> languageEntoMy;
  26. public static ProcessFile _threadFile;
  27. public static ProcessImport _threadFileImport;
  28. public static ProcessImortEnd _threadFileImportEnd;
  29. public static IDictionary<string, List<totalFileImportObj>> _arrtotal;
  30. public static Queue _ImportQueue;
  31. public static bool loadOK = false;
  32. public static string result = "";
  33. public static string GetValuesAppSetting(string key, string subkey)
  34. {
  35. IConfigurationBuilder builder = new ConfigurationBuilder();
  36. builder.AddJsonFile(Path.Combine(Directory.GetCurrentDirectory(), "appsettings.json"));
  37. var root = builder.Build();
  38. var sampleConnectionString = root.GetSection(key)[subkey];
  39. return sampleConnectionString;
  40. }
  41. public static void LoadConfigData()
  42. {
  43. try
  44. {
  45. //log4net.Config.XmlConfigurator.Configure();
  46. //var logRepository = LogManager.GetRepository(Assembly.GetEntryAssembly());
  47. //XmlConfigurator.Configure(logRepository, new FileInfo("log4net.config"));
  48. XmlDocument log4netConfig = new XmlDocument();
  49. log4netConfig.Load(File.OpenRead("log4net.config"));
  50. var repo = log4net.LogManager.CreateRepository(Assembly.GetEntryAssembly(),
  51. typeof(log4net.Repository.Hierarchy.Hierarchy));
  52. log4net.Config.XmlConfigurator.Configure(repo, log4netConfig["log4net"]);
  53. log.Info("start loaf ConfigData");
  54. loadOK = false;
  55. AppId = GetValuesAppSetting("app", "AppId");
  56. pathFileImport = GetValuesAppSetting("app", "pathFileImport");
  57. _ImportQueue = new Queue();
  58. _arrtotal = new Dictionary<string, List<totalFileImportObj>>();
  59. threadIsFree = new Dictionary<int, string>();
  60. languageEntoMy = new Dictionary<string, string>();
  61. languageMyToEn = new Dictionary<string, string>();
  62. _threadFile = new ProcessFile();
  63. string sName1 = "_threadFile Stard: " + Guid.NewGuid().ToString();
  64. _threadFile.Start(sName1);
  65. log.Info("start success thread " + sName1);
  66. _threadFileImportEnd = new ProcessImortEnd();
  67. string sName2 = "_threadFileImportEnd Stard: " + Guid.NewGuid().ToString();
  68. _threadFileImportEnd.Start(sName2);
  69. log.Info("start success thread " + sName2);
  70. for (int i = 0; i < 10; i++)
  71. {
  72. _threadFileImport = new ProcessImport();
  73. string sNamei = "_threadFileImport " + i.ToString() + " Stard: " + Guid.NewGuid().ToString();
  74. _threadFileImport.Start(i);
  75. log.Info("start success thread " + sNamei);
  76. threadIsFree.Add(i, "1");
  77. }
  78. result = "";
  79. log.Info("load vaiable success");
  80. loadOK = true;
  81. }
  82. catch (Exception ex)
  83. {
  84. log.Info("Load ConfigData err: "+ ex.ToString());
  85. }
  86. }
  87. public static void WriteLineAppendTextFile(string sFileName, string sLine)
  88. {
  89. try
  90. {
  91. StreamWriter sw = null;
  92. if (File.Exists(sFileName))
  93. sw = File.AppendText(sFileName);
  94. else
  95. sw = File.CreateText(sFileName);
  96. sw.WriteLine(sLine);
  97. sw.Close();
  98. }
  99. catch
  100. {
  101. //MessageBox.Show(ex1.Message);
  102. }
  103. }
  104. }
  105. }