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

一、工具:

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

时间: 2024-11-23 22:45:00

【C#Windows 服务】 《二》INI配置文件的相关文章

Windows服务二:测试新建的服务、调试Windows服务

一.测试Windows服务 为了使Windows服务程序能够正常运行,我们需要像创建一般应用程序那样为它创建一个程序的入口点.像其他应用程序一样,Windows服务也是在Program.cs的Main()函数中完成这个操作.首先我们在Main()函数中创建一个Windows服务的实例,该实例应该是ServiceBase类的某个子类的对象,然后我们调用由基类ServiceBase类定义的一个Run()方法.然而调用Run()方法并不意味着就开始了Windows服务程序,必须要等到该对象的OnSta

.NET windows服务(二:创建和卸载windows服务)

引用地址: https://docs.microsoft.com/zh-cn/dotnet/framework/windows-services/how-to-create-windows-services 手动安装你的服务 在 Windows"启动"菜单或"启动"屏幕上,依次选择"Visual Studio"."Visual Studio Tools"."开发人员命令提示". 出现 Visual Stud

C#创建windows服务、调试、安装

 一.创建Windows服务  二.调试windows程序  三.发布windows程序 如果安装有问题可以使用下面工具进行安装 window服务安装工具下载 示例源码

windows下Mysql免安装版,修改my_default.ini配置文件无效的解决办法

Windows操作系统中,当我们在安装Mysql数据库服务器的时候,通常有两个选择:一是去官方网站下载Mysql -installer.exe,利用windows系统安装程序的方法按部就班的来安装:二是去软件社区下载mysql绿色免安装版,解压出来就能立即使用. 以上两种方式都可以顺利在电脑上装好Mysql服务器,然而有的用户使用免安装版时,没有通过正确的配置来启动mysql服务器,会出现的问题是 当我们想修改数据库的配置信息如 wait_timeout.interactive_timeout.

C#制作Windows service服务系列二:演示一个定期执行的windows服务及调试(windows service)

系列一: 制作一个可安装.可启动.可停止.可卸载的Windows service(downmoon原创) 系列二:演示一个定期执行的windows服务及调试(windows service)(downmoon) 系列三: windows service系列三--制作可控制界面的windows service 一.经常有人问起如何让程序定期自动执行? 除了像系统任务和SQL JOB/DTS等都可以满足不同的用户需求外,这里演示了如何做一个简单的windows serivce的框架.主要的功能是按照

Go语言配置文件解析器,类似于Windows下的INI文件.

config Package config is a Configuration file parser for INI format 包 config 是一个简洁方的,支持注释的Go语言配置文件解析器,类似于Windows下的INI文件. 配置文件形式为[section] 的段构成, 内部使用 name=value键值对 如果为指定段节点,则默认放入名为[default]的段当中. "#"为注释的开头,可以放置于任意的单独一行中. 安装 go get github.com/lxmgo

更改windows服务的配置文件(app.config)必须重启服务才能生效吗?

这个问题是前一阶段写windows服务碰到的.本来在写获取配置文件的某个配置的值的时候,通常我都是写类似下面的这么一个静态方法来获取: 1: /// <summary> 2: /// 获取每次处理记录数 3: /// </summary> 4: /// <returns></returns> 5: private static int GetRecordCount() 6: { 7: int recordCount = 10000; 8: try 9: {

.net安装windows服务配置文件config

.net安装windows服务 : 在windows服务的项目(WindowsService1)代码文件中有一个app.config 配置文件,可以通过此文件进行时间等的更改而无需重新生成项目:那我们大家都知道,不可能让用户在代码文件中进行修改,难道还要重新生成,给用户的只是一个安装文件包啊!那我么怎么改配置呢?在windows服务的安装文件(SetupDownloadFile)中此配置文件哪去了呢,不要着急啊,windows服务代码开发完毕生成之后,相应的安装文件也生成成功之后,找到此安装文件

使用.NET Core创建Windows服务(二) - 使用Topshelf方式

原文:Creating Windows Services In .NET Core – Part 2 – The "Topshelf" Way 作者:Dotnet Core Tutorials 译者:Lamond Lu 译文:使用.NET Core创建Windows服务(二) - 使用Topshelf方式 使用.NET Core创建Windows服务 使用微软推荐方式 使用Topshelf方式 在前一篇文章中,我给大家介绍了,如何基于微软推荐方式使用.NET Core创建Windows