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


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

    目录:

    1.【C#Windows 服务】 《一》初入门

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

    3.【C#Windows 服务】 《三》Timer设置

    一、工具:

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

      

    四、总结:

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

  • 相关阅读:
    POJ3678 KATU PUZZLE
    poj3321(codevs1228)苹果树
    codevs 1955 光纤通信 USACO
    codevs 1027 姓名与ID
    codevs 1051 接龙游戏
    洛谷 P1717 钓鱼
    codevs 1062 路由选择
    洛谷 P1083 借教室
    codevs 2596 售货员的难题
    Vijos 1053 easy sssp
  • 原文地址:https://www.cnblogs.com/eadily-dream/p/6054304.html
Copyright © 2020-2023  润新知