概述
/// The DataProvider class contains a single method, Instance(), which returns an instance of the /// user-specified data provider class. /// public class DataProvider { public static IDataProvider Instance() { //use the cache because the reflection used later is expensive Cache cache = System.Web.HttpContext.Current.Cache; if ( cache["IDataProvider"] == null ) { //get the assembly path and class name from web.config String prefix = ""; NameValueCollection context = (NameValueCollection)ConfigurationSettings.GetConfig("appSettings"); if (context == null) { //can not get settings return null; } String assemblyPath = context[prefix + "DataProviderAssemblyPath"]; String className = context[prefix + "DataProviderClassName"]; // assemblyPath presented in virtual form, must convert to physical path assemblyPath = HttpContext.Current.Server.MapPath(HttpContext.Current.Request.ApplicationPath + "/bin/" + assemblyPath); // Uuse reflection to store the constructor of the class that implements IWebForumDataProvider try { cache.Insert( "IDataProvider", Assembly.LoadFrom( assemblyPath).GetType( className ).GetConstructor(new Type[0]), new CacheDependency( assemblyPath ) ); } catch (Exception) { // could not locate DLL file HttpContext.Current.Response.Write("<b>ERROR:</b> Could not locate file: <code>" + assemblyPath + "</code> or could not locate class <code>" + className + "</code> in file."); HttpContext.Current.Response.End(); } } return (IDataProvider)( ((ConstructorInfo)cache["IDataProvider"]).Invoke(null) ); } }
A simple win32 windows application |
C++中几个比较不常用的关键字 |
网上看到的排序源码, 准备面试的朋友可以看看 |
用System.Web.Caching.Cache保存数据类的缓存 |
一本书, 一段源码, 推荐给大家 |
最后
以上就是可靠学姐为你收集整理的用System.Web.Caching.Cache保存数据类的缓存 的全部内容,希望文章能够帮你解决用System.Web.Caching.Cache保存数据类的缓存 所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复