Nebula行为定制
Nebula框架的定制方式包含3类:
- 修改参数值来实现
- 修改启动参数
- 重写特定的行为方法
修改参数值
Nebula包含了较多参数,请参考 Nebula参数清单 章节内容。
修改启动参数
在Program.cs的Main方法,我们需要执行一个调用
AppStartup.RunAsXXXXXX("xxxxxxx", args, startOption);
第三个参数就是启动参数,它的类型是AppStartOption,可以查看这个类型的成员获知有哪些参数可供调整。
框架行为定制
对于一些特殊场景,Nebula的默认行为可能不满足需求,那么就需要通过扩展的方式来定制框架行为。
下面将介绍如何通过扩展方式来定制Nebula的行为。
开发过程
- 在VS解决方案树中找到你的项目
- 找到Customize文件夹,如果不存在则创建
- 新建一个名为 MyNebulaBehavior 的类名,让它从NebulaBehavior继承
- 根据你的需求找到并重写NebulaBehavior定义的虚方法
- 找到Program.cs的Main方法
- 创建一个AppStartOption的实例,并设置NebulaBehavior属性
示例代码如下:
namespace Nebula.Venus.Customize;
public class VenusNebulaBehavior : NebulaBehavior
{
// 重写一些你需要的虚方法
}
Program.cs代码如下:
public class Program
{
public static void Main(string[] args)
{
AppStartOption startOption = new AppStartOption {
NebulaBehavior = new VenusNebulaBehavior()
};
AppStartup.RunAsWebsite("Nebula.Venus", args, startOption);
}
}
NebulaBehavior的可重写方法清单
public virtual bool AllowCors(NHttpContext httpContext)
public virtual void SetMvcOptions(MvcOptions x)
public virtual void SetMvcJsonOptions(MvcNewtonsoftJsonOptions x)
public virtual void ConfigureUrlRouting(WebApplication app)
public virtual async Task ShowHomePage(HttpContext httpContext)