First, tools:
Vs2015+net Framework4.5.
Second, Operation:
1. Create Inihelp Help Class
2, rich help class operation
3. Windows instance calls
Third, the code:
1. ini Helper class:
| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
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. Calling code in Windows services:
| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
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() { } }} |
Iv. Summary:
Source: http://www.cnblogs.com/eadily-dream/p/6054304.html
"C#windows Service" "II" INI configuration file