PreApplicationStartMethodAttribute程序启动扩展
一、PreApplicationStartMethodAttribute 类简介
// // 摘要: // 提供对应用程序启动的扩展支持。 [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)
更多:
分类:
Asp.Net
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
2017-01-09 Asp.Net MVC是否针对每次请求都重新创建一个控制器实例
2014-01-09 js修改input的type属性问题