Nebula行为定制

Nebula框架的定制方式包含3类:

  • 修改参数值来实现
  • 修改启动参数
  • 重写特定的行为方法



修改参数值

Nebula包含了较多参数,请参考 Nebula参数清单 章节内容。



修改启动参数

在Program.cs的Main方法,我们需要执行一个调用

AppStartup.RunAsXXXXXX("xxxxxxx", args, startOption);

第三个参数就是启动参数,它的类型是AppStartOption,可以查看这个类型的成员获知有哪些参数可供调整。



框架行为定制

对于一些特殊场景,Nebula的默认行为可能不满足需求,那么就需要通过扩展的方式来定制框架行为。

下面将介绍如何通过扩展方式来定制Nebula的行为。



开发过程

  1. 在VS解决方案树中找到你的项目
  2. 找到Customize文件夹,如果不存在则创建
  3. 新建一个名为 MyNebulaBehavior 的类名,让它从NebulaBehavior继承
  4. 根据你的需求找到并重写NebulaBehavior定义的虚方法
  5. 找到Program.cs的Main方法
  6. 创建一个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)