using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using Us.Weixin.Entity;
using Us.Weixin.Cache;
using Us.FrameWork;
using System.Web;
namespace Us.Weixin.Cache
{
public class GetCache
{
#region 1.单实例初始化
private static GetCache instance;
private GetCache()
{
sConfigPath = HttpContext.Current.Server.MapPath("/");
UsFileWatcher.GetInstance().UsWatcherStrat(sConfigPath, "*.config")
.OnChangeEvent += UsFileWatcher_OnChangeEvent;
}
public static GetCache GetInstance()
{
if (instance == null)
{
instance = new GetCache();
}
return instance;
}
#endregion
#region 2.数据变化监测
/// <summary>
/// 监测文件是否变化,如果变化重新加载数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void UsFileWatcher_OnChangeEvent(object sender, OnChangeEventArgs e)
{
UsGetWXAgentAccountData();
}
#endregion
#region 3.变量定义
private string sConfigPath = @"";
private string sFileName = "weixin.config";
private WXAgentAccount Account ;
#endregion
#region 4.获取数据
/// <summary>
/// 获取微信账户,如果实例不为空,则直接返回
/// </summary>
/// <returns></returns>
public WXAgentAccount UsGetWXAgentAccount()
{
if (Account == null)
{
UsGetWXAgentAccountData();
}
return Account;
}
/// <summary>
/// 从文件中加载配置
/// </summary>
private void UsGetWXAgentAccountData()
{
if (Account == null)
{
Account = new WXAgentAccount();
}
string sPath = sConfigPath + "\\" + sFileName;
Account.wxagentid = Us.FrameWork.UsConfig.UsAppSettingsGet(sPath, "wxagentid");
Account.wxagentname = Us.FrameWork.UsConfig.UsAppSettingsGet(sPath, "wxagentname");
Account.wxappid = Us.FrameWork.UsConfig.UsAppSettingsGet(sPath, "wxappid");
Account.wxcertpath = Us.FrameWork.UsConfig.UsAppSettingsGet(sPath, "wxcertpath");
Account.wxcertpwd = Us.FrameWork.UsConfig.UsAppSettingsGet(sPath, "wxcertpwd");
Account.wxagentkey = Us.FrameWork.UsConfig.UsAppSettingsGet(sPath, "wxagentkey");
}
#endregion
}
}
using System.Collections.Generic;
using System.IO;
using System.Text;
using Us.Weixin.Entity;
using Us.Weixin.Cache;
using Us.FrameWork;
using System.Web;
namespace Us.Weixin.Cache
{
public class GetCache
{
#region 1.单实例初始化
private static GetCache instance;
private GetCache()
{
sConfigPath = HttpContext.Current.Server.MapPath("/");
UsFileWatcher.GetInstance().UsWatcherStrat(sConfigPath, "*.config")
.OnChangeEvent += UsFileWatcher_OnChangeEvent;
}
public static GetCache GetInstance()
{
if (instance == null)
{
instance = new GetCache();
}
return instance;
}
#endregion
#region 2.数据变化监测
/// <summary>
/// 监测文件是否变化,如果变化重新加载数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void UsFileWatcher_OnChangeEvent(object sender, OnChangeEventArgs e)
{
UsGetWXAgentAccountData();
}
#endregion
#region 3.变量定义
private string sConfigPath = @"";
private string sFileName = "weixin.config";
private WXAgentAccount Account ;
#endregion
#region 4.获取数据
/// <summary>
/// 获取微信账户,如果实例不为空,则直接返回
/// </summary>
/// <returns></returns>
public WXAgentAccount UsGetWXAgentAccount()
{
if (Account == null)
{
UsGetWXAgentAccountData();
}
return Account;
}
/// <summary>
/// 从文件中加载配置
/// </summary>
private void UsGetWXAgentAccountData()
{
if (Account == null)
{
Account = new WXAgentAccount();
}
string sPath = sConfigPath + "\\" + sFileName;
Account.wxagentid = Us.FrameWork.UsConfig.UsAppSettingsGet(sPath, "wxagentid");
Account.wxagentname = Us.FrameWork.UsConfig.UsAppSettingsGet(sPath, "wxagentname");
Account.wxappid = Us.FrameWork.UsConfig.UsAppSettingsGet(sPath, "wxappid");
Account.wxcertpath = Us.FrameWork.UsConfig.UsAppSettingsGet(sPath, "wxcertpath");
Account.wxcertpwd = Us.FrameWork.UsConfig.UsAppSettingsGet(sPath, "wxcertpwd");
Account.wxagentkey = Us.FrameWork.UsConfig.UsAppSettingsGet(sPath, "wxagentkey");
}
#endregion
}
}