应用程序初始化
如果应用程序需要在业务处理前完成一些初始化动作,
例如:程序使用了RabbitMQ队列,我们希望在程序启动时就创建好队列,
诸如这类场景可以参考本文介绍的方法。
开发过程
- 在项目中新建一个名为 AppInitializer 静态类
- 增加一个名为 Init 的方法
- 在 Init 方法中编写初始化逻辑
示例代码
namespace YourProjectNameSpace;
public static class AppInitializer
{
public static void Init()
{
// 在这里编写初始化逻辑
}
}
补充说明:
- 示例代码中的类名和方法名是固定的,不能随意取名
- 示例代码中的类型和方法都要定义成静态的
- Init方法不需要在代码中调用,Nebula会在启动时调用
注意:
- 不要直接在Program.Main方法中执行初始化操作
类库项目初始化
在类库项目中,AppInitializer类不会纳入查找范围,所以即使有定义也不会被调用。
此时可以参照以下方法:
[Init] // 指示这个类需要在启动时初始化
public static class ComponentInitializer
{
public static void Init()
{
Console.WriteLine("Demo.Data.ComponentInitializer.Init() called!");
}
}
说明:
- 类型的可见性必须是 public
- 方法的签名必须是:public static void Init()