zoukankan      html  css  js  c++  java
  • System.Activator类

    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

  • 相关阅读:
    Android OpenSL ES 开发:OpenSL ES利用SoundTouch实现PCM音频的变速和变调
    Android OpenSL ES 开发:Android OpenSL 录制 PCM 音频数据
    Android MediaPlayer SeekTo 在 8.0 版本上优化说明
    Android OpenSL ES 开发:Android OpenSL 介绍和开发流程说明
    Android NDK学习(七):NDK 编译支持 C++特有的库
    Hystrix浅谈
    RxJava
    Metrics介绍和Spring的集成
    Hystrix系列-5-Hystrix的资源隔离策略
    深度解析SpringMvc实现原理手写SpringMvc框架
  • 原文地址:https://www.cnblogs.com/Tpf386/p/6611224.html
Copyright © 2011-2022 走看看