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
{
/// <summary>
/// MS.FrameWork缓存类
/// </summary>
public class FrameWorkCache
{
private static IFrameWorkCache _FrameWorkCache = null; static FrameWorkCache()
{
_FrameWorkCache = (IFrameWorkCache)Activator.CreateInstance(Commom.GetCachenamespace, Commom.GetCacheclassName).Unwrap();
} /// <summary>
/// 在线用户接口
/// </summary>
/// <returns>IFrameWorkOnline实现类</returns>
public static IFrameWorkCache Instance()
{
return _FrameWorkCache;
}
}
}

Commom中的信息

#region "获得缓存类配置(命名空间)"
/// <summary>
/// 获得缓存类配置(命名空间)
/// </summary>
public static string GetCachenamespace
{
get
{
return ConfigurationManager.AppSettings["Cachenamespace"];
}
}
#endregion #region "获得缓存类配置(类名)"
/// <summary>
/// 获得缓存类配置(类名)
/// </summary>
public static string GetCacheclassName
{
get
{
return ConfigurationManager.AppSettings["CacheclassName"];
}
}
#endregion

Web.config中的配置:

<!--缓存类配置(命名空间) FrameWorkCache.IloveYou-->
<add key="Cachenamespace" value="MS.FrameWork"/>
<!--缓存类配置(类名) FrameWorkCache.IloveYou.FrameWorkCacheRemoting-->
<add key="CacheclassName" value="MS.FrameWork.HttpWebCache"/>
<!--Remoting服务器地址
<add key="FrameWorkCacheService" value="tcp://localhost:9742/FrameWorkCache.CacheManager"/>-->

这是一个使用缓存的代码部分。

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

System.Activator类的更多相关文章

  1. 【C# 反射】使用 Activator 类 -激活器

    创建类的实例: //需要添加对Education.dll的引用才能正确执行 object CreateInstanceKind1 = Activator.CreateInstance("Ed ...

  2. 反射,System.Type类

    http://m.blog.csdn.net/blog/woddle/40623333 两个现实中的例子:1.B超:大家体检的时候大概都做过B超吧,B超可以透过肚皮探测到你内脏的生理情况.这是如何做到 ...

  3. 反射 介绍System.Type类

    本节先介绍system.Type类,通过这个类可以访问关于任何数据类型的信息. 1. system.Type类以前把Type看作一个类,但它实际上是一个抽象的基类.只要实例化了一个Type对象,实际上 ...

  4. C# System.Uri类_获取Url的各种属性_文件名_参数_域名_端口等等

    System.Uri类用于处理Uri地址信息,常用到它的地方有,相对Uri地址转绝对Uri地址,获取Uri的某部分信息等等,可以说是一个非常有用的类. 一.属性 AbsolutePath 获取 URI ...

  5. C#核编之System.Console类

    顾名思义,Console类封装了基于控制台的输入输出和错误流的操作,下面列举一些System.Console类常用的成员的,这些成员能为简单的命令行程序添加一些"情趣",例如改变背 ...

  6. System.Uri类 - 获取Url的各种属性,文件名,参数,域名,端口等等

    System.Uri类用于处理Uri地址信息,常用到它的地方有,相对Uri地址转绝对Uri地址,获取Uri的某部分信息等等,可以说是一个非常有用的类. 一.属性 AbsolutePath 获取 URI ...

  7. System系统类

    System系统类 : 主要的作用是用于获取系统的一个参数. System类需要掌握的方法: arraycopy(Object src, int srcPos, Object dest, int de ...

  8. 高并发分布式系统中生成全局唯一(订单号)Id js返回上一页并刷新、返回上一页、自动刷新页面 父页面操作嵌套iframe子页面的HTML标签元素 .net判断System.Data.DataRow中是否包含某列 .Net使用system.Security.Cryptography.RNGCryptoServiceProvider类与System.Random类生成随机数

    高并发分布式系统中生成全局唯一(订单号)Id   1.GUID数据因毫无规律可言造成索引效率低下,影响了系统的性能,那么通过组合的方式,保留GUID的10个字节,用另6个字节表示GUID生成的时间(D ...

  9. System.ConfigurationManager类用于对配置文件的读取

    http://blog.csdn.net/ligenyingsr/article/details/54095986 System.ConfigurationManager类用于对配置文件的读取.其具有 ...

随机推荐

  1. 中小学信息学奥林匹克竞赛-理论知识考点--ASCII

    ASCII表说白了就是一张表. 表中记录着:字符 和 数字 的对应关系.比如:字符0对应的ASCII码是48,A对应的是65,a对应的是97. 只要记住这三个,其它的数字,大写,小写字母的ASCII码 ...

  2. React dangerouslySetInnerHTML - 将HTML字符串解析为html样式显示

    <div dangerouslySetInnerHTML={{ __html: curriculumDesc }}></div>

  3. LeetCode106. Construct Binary Tree from Inorder and Postorder Traversal

    题目 根据一棵树的中序遍历与后序遍历构造二叉树. 注意: 你可以假设树中没有重复的元素. 例如,给出 中序遍历 inorder = [9,3,15,20,7] 后序遍历 postorder = [9, ...

  4. vim 个性化设置和操作

    一.vim 设置 1. 设置行号显示 1) 临时显示 命令行模式 :set nu 2) 永久显示 # vim ~/.vimrc 插入一行代码: set number 若没有该文件,在用户主目录 (/h ...

  5. Shell 入门笔记(一)

    Shell简介 在开发过程中Linux系统经常接触和使用的,Shell 是我们用户使用 Linux 的桥梁,是C 语言编写的程序.Shell 是一种命令语言,同时一种程序设计语言.对大多数开发人员来说 ...

  6. 并排打印多个图案(C++实现)

    在练习循环控制语句时,经常会遇到一类问题:使用循环控制打印星号(*)来形成各种各样的图案,并强调所有的星号(*)都要用单条的输出语句cout<<"*";来打印. 例如打 ...

  7. Leetcode 538. 把二叉搜索树转换为累加树

    题目链接 https://leetcode.com/problems/convert-bst-to-greater-tree/description/ 题目描述 大于它的节点值之和. 例如: 输入: ...

  8. Spark机器学习之推荐引擎

    一. 最小二乘法建立模型 关于最小二乘法矩阵分解,我们可以参阅: 一.矩阵分解模型. 用户对物品的打分行为可以表示成一个评分矩阵A(m*n),表示m个用户对n各物品的打分情况.如下图所示: 其中,A( ...

  9. 1-Linux运维人员要求

    linux 运维: 1.linux基础操作命令2.linux基础服务搭建3.文本处理命令4.shell脚本编程 python perl php5.数据库 mysql oracle6.lvs集群 热备 ...

  10. python和matlab

    一.python简介 python是一种面向对象的解释型计算机程序设计语言.python是纯粹的自由软件,源代码和解释器CPython遵循GPL协议.Python语法简介清晰,特色之一是强制用空白符作 ...