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