zoukankan      html  css  js  c++  java
  • PreApplicationStartMethodAttribute程序启动扩展

    一、PreApplicationStartMethodAttribute 类简介

    应用程序启动时提供的扩展的支持。

    命名空间:   System.Web
    程序集:  System.Web(位于 System.Web.dll)
     
        //
        // 摘要:
        //     提供对应用程序启动的扩展支持。
        [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)]
        public sealed class PreApplicationStartMethodAttribute : Attribute
        {
            public PreApplicationStartMethodAttribute(Type type, string methodName);
    
            //
            // 摘要:
            //     获取关联启动方法所返回的类型。
            //
            // 返回结果:
            //     一个描述启动方法的类型的对象。
            public Type Type { get; }
            //
            // 摘要:
            //     获取关联的启动方法。
            //
            // 返回结果:
            //     一个字符串,其中包含关联启动方法的名称。
            public string MethodName { get; }
        }
    • 没有程序集定义应用程序启动方法调用的顺序能保证 因此,每个已注册的 start 方法应编码孤立地运行的不应依赖于副作用的其他注册的开始方法。

     使用方法,在程序集加载文件AssemblyInfo.cs中注册使用
    //定义程序启动时处理方法
    [assembly: PreApplicationStartMethod(typeof(TestOne), "Start")]

    二、使用示例:

    注:注册方法必须是公共的静态的

    定义如下:

        public class TestOne
        {
            /// <summary>
            /// 程序启动时,PreApplicationStartMethod中指定的方法必须是公共静态的
            /// </summary>
            public static void Start()
            {
                LogHelper.LogHelper _log = new LogHelper.LogHelper();
                _log.WriteLine("程序启动成功1");
            }
        }
    三、转载

    1. 作用

    指定某个函数在站点的Application_Start之前执行。

    2. 用法

    [assembly: PreApplicationStartMethod(typeof(SomeClassLib.Initializer), "Initialize")]

    一般放在AssemblyInfo.cs。

    可以注册多个。

    3. 用途

    它可以让我们脱离web.config做一些事情,如注册自定义IHttpModule、注册BuildProvider

    4. 注意

    不能保证调用程序集定义的应用程序启动方法的顺序。 因此,每个注册的开始方法应该将代码编写为分开运行,不应该依赖于其他注册开始方法的副作用。(摘自MSDN)

     
    更多:
  • 相关阅读:
    20162330 2016-2017-2《程序设计与数据结构》课程总结
    强化学习--Policy Gradient
    59. Spiral Matrix II
    54. Spiral Matrix(剑指offer 19)
    58. Length of Last Word
    c++ string split
    神经网络反向传播,通俗理解
    大话设计模式C++ 备忘录模式
    57. Insert Interval
    c++ sort
  • 原文地址:https://www.cnblogs.com/tianma3798/p/8251858.html
Copyright © 2011-2022 走看看