程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> 【C#Windows 服務】 《二》INI配置文件,

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

編輯:關於.NET

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


目錄:

1.【C#Windows 服務】 《一》初入門

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

  

 

 

四、總結:

 

 

 

 記錄每一天的點滴,碼好每一行的代碼 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved