zoukankan      html  css  js  c++  java
  • C# 读写ini配置文件(.net/SQL技术交流群206656202 入群需注明博客园)

    using System;
    using System.IO;
    using System.Reflection;
    using System.Runtime.InteropServices;
    using System.Text;
    namespace Souxuexiao.Cache
    {
    
    public static class IniConfig
    {
    static string ConfigurationFilePath;
    
    static IniConfig()
    {
    var Ass = Assembly.GetExecutingAssembly();
    ConfigurationFilePath = Ass.CodeBase.Replace(System.IO.Path.GetExtension(Ass.CodeBase), ".ini").Replace(@"file:///", "");
    }
    
    public static string host
    {
    get
    {
    return Convert.ToString(GetValue("host", "127.0.0.1:5556"));
    }
    set
    {
    SetValue("host", value);
    }
    }
    public static string slave
    {
    get
    {
    return Convert.ToString(GetValue("slave", "127.0.0.1:5556"));
    }
    set
    {
    SetValue("slave", value);
    }
    }
    
    public static int WritePoolSize
    {
    get
    {
    return Convert.ToInt32(GetValue("WritePoolSize", "10"));
    }
    set
    {
    SetValue("WritePoolSize", value);
    }
    }
    public static int ReadPoolSize
    {
    get
    {
    return Convert.ToInt32(GetValue("ReadPoolSize", "10"));
    }
    set
    {
    SetValue("ReadPoolSize", value);
    }
    }
    
    static void SetValue(string keyName, object value)
    {
    NativeMethods.WritePrivateProfileString("redis", keyName, value.ToString(), ConfigurationFilePath);
    }
    
    static object GetValue(string keyName, object defaultValue)
    {
    StringBuilder retVal = new StringBuilder(1024);
    int i= NativeMethods.GetPrivateProfileString("redis", keyName, defaultValue.ToString(), retVal, 1024, ConfigurationFilePath);
    return retVal.ToString();
    }
    }
    
    class NativeMethods
    {
    [DllImport("kernel32")]
    internal static extern long WritePrivateProfileString(
    string appName,
    string keyName,
    string value,
    string fileName);
    
    [DllImport("kernel32")]
    internal static extern int GetPrivateProfileString(
    string appName,
    string keyName,
    string _default,
    StringBuilder returnedValue,
    int size,
    string fileName);
    
    }
    
    }

  • 相关阅读:
    【JZOJ4803】求导【模拟】
    【洛谷P1972】【BZOJ1878】HH的项链【莫队】
    【洛谷P1972】【BZOJ1878】HH的项链【莫队】
    【洛谷P1631】序列合并【堆】
    【洛谷P1631】序列合并【堆】
    【洛谷P1903】【BZOJ2120】数颜色 / 维护队列【带修莫队】
    【洛谷P1484】种树【堆】【贪心】
    【洛谷P1484】种树【堆】【贪心】
    【JZOJ4802】探险计划【费用流】
    【JZOJ4802】探险计划【费用流】
  • 原文地址:https://www.cnblogs.com/GodIsBoy/p/3724036.html
Copyright © 2011-2022 走看看