整合了一个命令行程序的框架

背景

最近工作中写了N多个命令行程序跑数据.每新建一个项目就要引用各种包,各种配置.所以有了这个整合包.其实不能算是框架吧,没写什么代码,几乎就是引用一些包.

代码

GitHub: https://github.com/lun3322/Luna.Service

NuGet1: Install-Package Luna.Service

NuGet2: Install-Package Luna.Service.Nlog

  1. Luna.Service 代码几乎都在这个包里.Starter在程序启动的时候加载.主要功能是扫描程序集注册相关类型进IOC
  2. Luna.Service.Nlog 这里包含了我常用的nlog配置,和一个启动器

关于使用

  1. 如果你也使用nlog写日志的话可以直接引用 Luna.Service.Nlog 包.关于日志的一个配置会自动加载到项目中
  2. 设置NLog.config文件编译时复制到输出目录
  3. 在Main方法中新增代码
    using (var starter = Starter.Create<Runner>())
    {
        starter.Container.AddFacility<LoggingFacility>(f => f.LogUsing<NLogFactory>().WithConfig("NLog.config"));
    
        starter.Run();
    }
    
  4. 增加你的service像下面这样
    public interface IDemoService : ILunaService
    {
        string GetMessage();
    }
    
    public class DemoService : LunaServiceBase, IDemoService
    {
        public string GetMessage()
        {
            Logger.Info("GetMessage");
            return "测试";
        }
    }
    
    注意接口实现ILunaService才能被自动注册进IOC
  5. 修改Runner类的run方法
    public class Runner : LunaRunnerBase
    {
        private readonly IDemoService _demoService;
    
        public Runner(IDemoService demoService)
        {
            _demoService = demoService;
        }
    
        public override void Run()
        {
            var message = _demoService.GetMessage();
            Logger.Info(message);
            Logger.Info("ok");
        }
    }
    

如果不喜欢用nlog的话,可以查看Castle.Windsor文档修改第3步中AddFacility方法

项目约定: 你的程序命名必须遵循aaa.bb.c的方式

Demo.App <- 应用程序入口

Demo.Service <- 服务层

Demo.Entity <- 实体层

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • aop和定时任务 这次更新主要增加了审计日志还有集成了hangfire做定时任务 先来看审计日志部分,审计日志主要...
    _陈宏博_阅读 1,774评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,329评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,052评论 6 342
  • 本文首发于个人博客:Lam's Blog - 谈谈23种设计模式在Android源码及项目中的应用,文章由Mark...
    格子林ll阅读 10,113评论 1 105
  • 1996年,日本作家东野圭吾的《名侦探的守则》(以下简称《守则》)出版,引起了日本推理小说界的轰动。书中描写了十二...
    贺司阅读 2,962评论 3 2