public static ObjectHandle CreateInstance(string assemblyName, string typeName);
该类有一个方法。
//
// 摘要: // 使用命名的程序集和默认构造函数,创建名称已指定的类型的实例。 // // 参数: // assemblyName: // 将在其中查找名为 typeName 的类型的程序集的名称。如果 assemblyName 为 null,则搜索正在执行的程序集。 // // typeName: // 首选类型的名称。 // // 返回结果: // 要访问新创建的实例则必须解包的句柄。 // // 异常: // System.ArgumentNullException: // typeName 为 null。 // // System.MissingMethodException: // 找不到匹配的公共构造函数。 // // System.TypeLoadException: // 在 assemblyName 中找不到 typename。 // // System.IO.FileNotFoundException: // 未找到 assemblyName。 // // System.MethodAccessException: // 调用方没有调用此构造函数的权限。 // // System.MemberAccessException: // 无法创建抽象类的实例,或者用后期绑定机制调用了该成员。 // // System.Reflection.TargetInvocationException: // 通过反射调用的构造函数引发了异常。 // // System.Runtime.InteropServices.InvalidComObjectException: // COM 类型不是通过 Overload:System.Type.GetTypeFromProgID 或 Overload:System.Type.GetTypeFromCLSID // 获得的。 // // System.NotSupportedException: // 不支持创建 System.TypedReference、System.ArgIterator、System.Void 和 System.RuntimeArgumentHandle // 类型或者由这些类型组成的数组。 // // System.BadImageFormatException: // assemblyName 不是有效程序集。- 或 -当前加载的是 2.0 或更高版本的公共语言运行时 (CLR),而 assemblyName 是用高于当前加载版本的 // CLR 版本编译的。请注意,.NET Framework 2.0 版、3.0 版和 3.5 版都使用 CLR 2.0 版。 // // System.IO.FileLoadException: // 用两个不同的证据将一个程序集或模块加载了两次。
using System;using System.Collections.Generic;using System.Text;namespace MS.FrameWork{ ////// MS.FrameWork缓存类 /// public class FrameWorkCache { private static IFrameWorkCache _FrameWorkCache = null; static FrameWorkCache() { _FrameWorkCache = (IFrameWorkCache)Activator.CreateInstance(Commom.GetCachenamespace, Commom.GetCacheclassName).Unwrap(); } ////// 在线用户接口 /// ///IFrameWorkOnline实现类 public static IFrameWorkCache Instance() { return _FrameWorkCache; } }}
Commom中的信息
#region "获得缓存类配置(命名空间)" ////// 获得缓存类配置(命名空间) /// public static string GetCachenamespace { get { return ConfigurationManager.AppSettings["Cachenamespace"]; } } #endregion #region "获得缓存类配置(类名)" ////// 获得缓存类配置(类名) /// public static string GetCacheclassName { get { return ConfigurationManager.AppSettings["CacheclassName"]; } } #endregion
Web.config中的配置:
这是一个使用缓存的代码部分。
System.Web.Caching.Cache
// // 摘要: // 获取可用于缓存的字节数。 // // 返回结果: // 可用于缓存的字节数。 public long EffectivePrivateBytesLimit { get; }
获取缓存剩余空间。
HttpRuntime.Cache
ASP.NET为了方便我们访问Cache,在HttpRuntime类中加了一个静态属性Cache,这样,我们就可以在任意地方使用Cache的功能。 而且,ASP.NET还给它增加了二个“快捷方式”:Page.Cache, HttpContext.Cache,我们通过这二个对象也可以访问到HttpRuntime.Cache, 注意:这三者是在访问同一个对象。Page.Cache访问了HttpContext.Cache,而HttpContext.Cache又直接访问HttpRuntime.Cache