• 【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()
            {
            }
        }
    }

      

    四、总结:

     记录每一天的点滴,码好每一行的代码 

  • 相关阅读:
    天大复试机试练习_003
    C++随手记--字符串转数字
    C++标准库STL 之 我觉得应该有的方法——split
    apt-get 详解&&配置阿里源
    Nginx 图文详解
    MySQL数据库管理常用命令小结
    oracle数据库备份
    SqlServer数据库备份还原步骤
    mysql数据备份与恢复
    Tomcat架构
  • 原文地址:https://www.cnblogs.com/yachao1120/p/7575106.html
Copyright © 2020-2023  润新知