Appearance
快速开始
下载与配置
从Git仓库拉取项目:JingJian.Host.General,和任意一个功能包。增加config.txt文件,并填入要装载的功能包地址(即功能包编译后的bin目录内的文件)

启动调试
设置JingJian.Host.General为启动目录,运行F5进行调试即可。
业务功能包
元包引用
鲸舰业务功能包,需要引用比较多零散的包,包含但不限于:
- JingJian.AspNetCore
- JingJian.Core
- JingJian.Extensions.Authentication.Abstractions
- JingJian.Extensions.Authentication.Jwt
- JingJian.Extensions.Cache.Abstractions
- JingJian.Extensions.Cache.Memory
- JingJian.Extensions.Logger
- JingJian.Extensions.Module
- JingJian.Extensions.Repository.Abstractions
- JingJian.Extensions.Repository.EntityFramework
- JingJian.Extensions.Sms.Abstractions
- JingJian.Extensions.Sms.Bdszh
- SwashBuckle.AspNetCore
- ......
现将所有引用包打包成JingJian.AspNetCore.All,引用该包即可。
package文件
新建项目中,如果该项目为业务功能包,则需要在根目录增加Package.cs文件
c#
namespace JingJian.Package.SimpleAService
{
public class Package : PackageBase
{
public static Package Instance { get; set; } = new();
public override string PackageName => "SimpleA测试包";
public override string ServiceName => "SimpleA";
}
}功能包中配置数据库访问
c#
namespace JingJian.Package.SimpleAService
{
public class Package : PackageBase
{
public override string PackageName => "SimpleA测试包";
public override string ServiceName => "SimpleA";
private readonly IConfiguration _configuration;
public Package(IConfiguration configuration)
{
_configuration = configuration;
}
public override void OnConfigureServices(IServiceCollection services)
{
base.OnConfigureServices(services);
services.AddEf(_configuration).AsEfDefault();
}
}
}生命周期
Package包含5个生命周期函数,如果功能包加载失败,则不调用生命周期内任何方法。
c#
/// <summary>
/// 开始挂载
/// </summary>
void OnBeforeMount(IApplication application);
/// <summary>
/// 配置依赖注入
/// </summary>
/// <param name="services"></param>
void OnConfigureServices(IServiceCollection services);
/// <summary>
/// 挂载完成
/// </summary>
void OnMounted(IApplication application, IServiceProvider serviceProvider);
/// <summary>
/// 开始卸载
/// </summary>
void OnBeforeUnMount(IApplication application);
/// <summary>
/// 卸载完成
/// </summary>
void OnUnMounted(IApplication application);OnBeforeMount
OnBeforeMount:功能包挂载之前调用
OnConfigureServices
OnConfigureServices:配置依赖注入
OnMounted
OnMounted:功能包挂载完成后调用,此时已可以获取到包的容器
OnBeforeUnMount
OnBeforeUnMount:卸载前调用
OnUnMounted
OnUnMounted:卸载完成时调用