【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()
{
}
}
}
四、总结:
记录每一天的点滴,码好每一行的代码