【C#Windows 服务】 《二》INI配置文件

mac2022-06-30  23

一、工具:

VS2015+NET Framework4.5。

 

二、操作:

1、创建INIHelp帮助类

 

2、丰富帮助类操作

 

3、windows实例调用

 

 

三、代码:

1、INI帮助类:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Runtime.InteropServices;   namespace ClassLibrary1 {      public class INIHelp      {              public static string iniFileName = AppDomain.CurrentDomain.BaseDirectory + System.IO.Path.DirectorySeparatorChar + "config.ini" ;            [DllImport( "kernel32" )]          private static extern long WritePrivateProfileString( string section, string key, string val, string filePath);            [DllImport( "kernel32" )]          private static extern int GetPrivateProfileString( string section, string key, string def, StringBuilder retVal, int size, string filePath);            public static string SaveConfig()          {              try              {                  WriteIni( "sqlconfig" , "testsql" , "select *  from Dog" );                }              catch (Exception ex)              {                  LogHelp.WriteLog(ex.ToString());              }              return "0" ;          }            public static void WriteIni( string Section, string Key, string strValue)          {              WritePrivateProfileString(Section, Key, strValue, iniFileName);          }            public static string ReadIni( string Section, string Key, string Default)          {              StringBuilder temp = new StringBuilder(1024);              int rec = GetPrivateProfileString(Section, Key, Default, temp, 1024, iniFileName);              return temp.ToString();          }        } }

  

2、windows服务中调用代码:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 using ClassLibrary1; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Linq; using System.ServiceProcess; using System.Text; using System.Threading; using System.Threading.Tasks;   namespace WindowsServiceTest {      public partial class Service1 : ServiceBase      {          public Service1()          {              InitializeComponent();          }            protected override void OnStart( string [] args)          {                Thread thread = new Thread( delegate ()              {                  try                  {                      // for (int i = 0; i < 1000; i++)                      //{                      LogHelp.WriteLog( "***********************服务启动*****************" );                      INIHelp.WriteIni( "sqlconfig" , "testsql" , "select *  from Dog" );                      string str = INIHelp.ReadIni( "sqlconfig" , "testsql" , "" );                      LogHelp.WriteLog(str);                      LogHelp.WriteLog( "***********************服务启动结束*****************" );                      // }                  }                  catch (Exception ex)                  {                        LogHelp.WriteLog( "服务启动失败" + ex); ;                  }              }                  );              thread.Name = "线程测试1" ;              thread.IsBackground = true ;              thread.Start();            }            protected override void OnStop()          {          }      } }

  

 

 

四、总结:

 

 

 

来源:http://www.cnblogs.com/eadily-dream/p/6054304.html

转载于:https://www.cnblogs.com/lidj/p/7290665.html

相关资源:Windows系统中C#读写ini配置文件的程序代码示例分享
最新回复(0)