Falcon.SugarApi
Nuget包地址
在VS中增加程序包源地址:http://106.14.65.137/api/packages/Falcon/nuget/index.json然后就可以在Nuget包管理中引入Falcon.SugarApi 包。
引入包说明
引入nuget包可能默认不会包含Falcon.SugarApi.xml文件,但是没有这个文件swagger会少很多说明,也可能会报错。
将一下代码包含在.csproj项目文件中可以复制包中的xml文件到输出目录和发布目录。
<Target Name="CopyReferenceFiles" BeforeTargets="Build">
<ItemGroup>
<XmlReferenceFiles Condition="Exists('$(OutputPath)%(Filename).dll')" Include="%(Reference.RelativeDir)%(Reference.Filename).xml" />
</ItemGroup>
<Message Text="Copying reference files to $(OutputPath)" Importance="High" />
<Copy SourceFiles="@(XmlReferenceFiles)" DestinationFolder="$(OutputPath)" Condition="Exists('%(RootDir)%(Directory)%(Filename)%(Extension)')" />
</Target>
<Target Name="CopyReferenceFilesToPublish" BeforeTargets="PrepareForPublish">
<ItemGroup>
<XmlReferenceFiles Condition="Exists('$(OutputPath)%(Filename).dll')" Include="%(Reference.RelativeDir)%(Reference.Filename).xml" />
</ItemGroup>
<Message Text="Copying reference files to $(OutputPath)" Importance="High" />
<Copy SourceFiles="@(XmlReferenceFiles)" DestinationFolder="$(PublishDir)" Condition="Exists('%(RootDir)%(Directory)%(Filename)%(Extension)')" />
</Target>
WebApi扩展模块 进入
ApiControllerBase是所有webapi基类,实现数据库、log、异常等基础功能。
ApiBaseOptionController<>带有基本操作方法的webapi基类,除了ApiControllerBase功能外还提供基础增删改查功能。
Swagger扩展模块 进入
waggerGenOptions.AddXmlEnumEnable方法可以为枚举类型增加注释。
SugarDbContext扩展模块 进入
通过
IServiceCollection.AddSugarApiDbContext注册SugarDbContext对象,该对象通过SugarConnectionConfig配置数据库链接。
DbSet<T>数据库表定义,支持表数据查询。
SugarDbTables<T>数据库表集合基类,可以继承该类并在其中定义DbSet<T>属性,这些属性会自动实例化。
SugarTableBase标准表基类,继承该类可提供数据表基础功能,比如ID,创建和修改时间等。
后台任务BackTask模块 进入
继承
BackgroundLongTask可以实现一个长期位于后台执行的对象,该类通过IServiceCollection.AddHostedService<>'进行注册。RunTimespan属性设置执行的时间间隔的秒数。 重写RunAsync方法实现一个异步任务。 另外可以重写OnStart后台任务开始,OnStop后台任务结束,OnCompleted一次执行完成和OnException`执行中引发未处理的异常。
数据缓冲模块 进入
通过
IServiceCollection.AddSugarRedisCache或IServiceCollection.AddSugarMemoryCache方法注册缓冲器。
通过注入ISugarCache同步接口 或ISugarCacheAsync异步接口获取组件。
通过接口的Get和Set方法获取和保存缓冲值。
XML序列化扩展模块 进入
IServiceCollection.AddXmlSerializeFactory方法注册xml序列化工厂XmlSerializeFactory,可以通过该工厂实例化一个XML序列化器。
JSON序列化扩展模块 进入
IServiceCollection.AddJsonSerializeFactory方法注册Json序列化工厂JsonSerializeFactory,可以通过该工厂实例化一个Json序列化器。
ArrayStringJsonConverterAttribute特性标记字符串是个数组字符串,当进行序列化时候会被序列化为数组。
字符串扩展方法
IsNullOrEmpty()和IsNotNullOrEmpty()方法返回字符串是否为空。
SplitStr()默认实现按照',', ',', ';', ';', '.', '。'对字符串进行分割。
Object扩展方法
CloneTo和CloneFrom实现将对象属性赋值到目标对象同名属性中,此为浅表复制。
IEnumerable扩展方法
ToDataTable和ToDataTable<>分别实现将枚举类型转换为DataTable的方法,区别是一个针对Object枚举一个针对具体类型枚举,尽量使用泛型版本,更加高效。