【C#Windows 服务】 《二》INI配置文件
【C#Windows 服务】 《二》INI配置文件
目录:
一、工具:
VS2015+NET Framework4.5。
二、操作:
1、创建INIHelp帮助类
2、丰富帮助类操作
3、windows实例调用
三、代码:
1、INI帮助类:
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服务中调用代码:
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() { } } }
四、总结:
记录每一天的点滴,码好每一行的代码