控制檯程式使用ABP框架應用層服務
1.生產ABP框架基礎服務,如下圖所示
2.新建一個控制檯程式,新增對Application專案引用。
3.新建一個模組類
using Abp.Events.Bus;
using Abp.Modules;
using Abp.Reflection.Extensions;
using Castle.MicroKernel.Registration;
using com.f1bpm.Configuration;
using com.f1bpm.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
namespace com.f1bpm.Jobs
{
[DependsOn(typeof(f1bpmApplicationModule))]
[DependsOn(typeof(f1bpmEntityFrameworkModule))]
public class MyConsoleAppModule : AbpModule
{
private readonly IConfigurationRoot _appConfiguration;
public MyConsoleAppModule(f1bpmEntityFrameworkModule abpProjectNameEntityFrameworkModule)
{
abpProjectNameEntityFrameworkModule.SkipDbSeed = true;
_appConfiguration = AppConfigurations.Get(
typeof(MyConsoleAppModule).GetAssembly().GetDirectoryPathOrNull()
);
}
public override void PreInitialize()
{
Configuration.DefaultNameOrConnectionString = _appConfiguration.GetConnectionString(
f1bpmConsts.ConnectionStringName
);
Configuration.BackgroundJobs.IsJobExecutionEnabled = false;
Configuration.ReplaceService(
typeof(IEventBus),
() => IocManager.IocContainer.Register(
Component.For<IEventBus>().Instance(NullEventBus.Instance)
)
);
}
public override void Initialize()
{
IocManager.RegisterAssemblyByConvention(typeof(MyConsoleAppModule).GetAssembly());
}
}
}
4.通過IOC呼叫應用層或領域層服務方法
using (var bootstrapper = AbpBootstrapper.Create<MyConsoleAppModule>())
{
bootstrapper.IocManager.IocContainer
.AddFacility<LoggingFacility>(
f => f.UseAbpLog4Net().WithConfig("log4net.config")
);
bootstrapper.Initialize();
using (var caller = bootstrapper.IocManager.ResolveAsDisposable<EngineManager>())
{
caller.Object.NewStart(jsondata);
}
}
相關文章
- ABP框架—後臺:應用服務ApplicationServices(9)框架APP
- [Abp vNext 原始碼分析] - 6. DDD 的應用層支援 (應用服務)原始碼
- Docker中部署.NET CORE應用(控制檯應用程式篇)Docker
- ABP框架領域層框架
- 【.NET】控制檯應用程式的各種互動玩法
- Util應用框架核心(一) - 服務配置框架
- Azure Cosmos DB (五) .Net Core 控制檯應用
- 以太坊Solidity程式語言開發框架————9、控制檯Solid框架
- 初識ABP vNext(11):聚合根、倉儲、領域服務、應用服務、Blob儲存
- .net core 控制檯程式使用依賴注入(Autofac)依賴注入
- 開源專案分享:ChatGPT 控制檯聊天應用ChatGPT
- 使用ABP SignalR重構訊息服務(一)SignalR
- 使用ABP SignalR重構訊息服務(二)SignalR
- ABP框架在Application層怎麼取header框架APPHeader
- 管理Mac應用使用定位服務Mac
- lms框架應用服務介面和服務條目詳解框架
- abp(net core)+easyui+efcore倉儲系統——建立應用服務(五)UI
- Util應用框架核心(三) - 服務註冊器框架
- (精華)2020年8月22日 ABP vNext DTO在應用層的使用
- 基於 abp vNext 微服務開發的敏捷應用構建平臺 - 框架分析微服務敏捷框架
- 一個庫幫你輕鬆的建立漂亮的.NET控制檯應用程式
- 使用ServiceSelf解決.NET應用程式做服務的難題
- Chrome控制檯,console實用教程Chrome
- Dubbo Mesh - 從服務框架到統一服務控制平臺框架
- 瞭解安卓架構(linux核心層、系統執行庫層、應用框架層、應用層)安卓架構Linux框架
- 有趣的控制檯玩法:一行程式碼繪製控制檯影像!行程
- 收集Chrome控制檯使用技巧點Chrome
- idrac虛擬控制檯的使用
- 如何使用阿里雲管理控制檯阿里
- DNS服務應用DNS
- win11服務和控制器應用佔用CPU過高
- 如何使用 SAP Kyma 控制檯手動傳送 SAP Commerce Cloud Mock 應用暴露的事件CloudMock事件
- Entity Framework Core 中使用倉庫和工作單元事務,服務層和控制器Framework
- idea建立、執行、打包控制檯程式Idea
- Spring Boot使用AOP在控制檯列印請求、響應資訊Spring Boot
- 4.2.1.10 為您的應用程式計劃服務
- 將windows應用程式註冊為windows服務Windows
- Topshelf一個用於使用.NET構建Windows服務框架Windows框架