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);}}