问题一、
public static DbParameter[] GetCachedParameters(string cacheKey)
{
var cachedParms = (DbParameter[])_parmCache[cacheKey]; if (cachedParms == null)
return null; var clonedParms = new DbParameter[cachedParms.Length]; for (int i = 0, j = cachedParms.Length; i < j; i++)
clonedParms[i] = (DbParameter)((ICloneable)cachedParms[i]).Clone(); return clonedParms; }这是微软DBhelper的一段获取参数缓存的代码,为什么不是直接用缓存中的,而是要从缓存中的对象克隆一个出来,具体看我加粗的地方
问题二、Hashtable缓存需要注意哪些问题,比如线程安全同时写入的问题
public static DbParameter[] GetCachedParameters(string cacheKey)
{
var cachedParms = (DbParameter[])_parmCache[cacheKey]; if (cachedParms == null)
return null; var clonedParms = new DbParameter[cachedParms.Length]; for (int i = 0, j = cachedParms.Length; i < j; i++)
clonedParms[i] = (DbParameter)((ICloneable)cachedParms[i]).Clone(); return clonedParms; }这是微软DBhelper的一段获取参数缓存的代码,为什么不是直接用缓存中的,而是要从缓存中的对象克隆一个出来,具体看我加粗的地方
问题二、Hashtable缓存需要注意哪些问题,比如线程安全同时写入的问题
解决方案 »
- TallComponents.Web.PdfViewer第三方控件问题
- 关于javascript中通过prototype添加属性的问题
- 求图片上一张下一张换图效果
- 实现ITemplate接口问题
- 关于 PlaceHolder 的问题 在线等
- 编译器错误信息: CS0030: 无法将类型“ASP.webadmin_login_aspx”转换为“System.Web.UI.WebControls.Login”
- 如何datalist里获得checkbox的值?
- cookies的值怎么会没了呢
- 怎样才能获取浏览器的设置?
- dataview 的怪问题?
- aspx 绑定DataList控件 获取ID值?
- js生成的控件 如何取值?
protected static Hashtable _cache = Hashtable.Synchronized(new Hashtable());这样声明,是不是就可以不用Lock也是安全的啦?