abp

Swagger breaks when adding an API Controller to my Host Project in aspnetboilerplate

折月煮酒 提交于 2019-12-11 15:58:20
问题 I downloaded a new .Net Core MVC project template from https://aspnetboilerplate.com/Templates, setup everything (database and restored nuget packages) and ran the Host application. All good as I get the Swagger UI going and can see all the standard services. I then proceeded to create a simple API controller in the Host application: [Route("api/[controller]")] [ApiController] public class FooBarController : MyAppControllerBase { public string HelloWorld() { return"Hello, World!"; } } And

c#--ABP Demo (二)

爷,独闯天下 提交于 2019-12-10 19:16:11
程序代码路径: https://github.com/fangwang01/ABPProject 六、仓储 仓储是领域层和数据映射层的中介,用类似集合的接口存取领域对象。 用来操作数据库进行数据存取,仓储接口定义在领域层core并继承IRepository接口,实现类在基础设施层Entityframeworkcore。 仓储类实现IRepository接口,接口定义了常用的同步和异步的增删改查方法。 针对EntityFramework提供了EfRepositoryBase<TDbContext, TEntity, TPrimaryKey>的泛型版本的实现方法,被xxRepositoryBase继承。 namespace MyAbpProject.Demo { [Table("Task")] public class TasksEntity : Entity, IHasCreationTime { public const int MaxTitleLength = 256; public const int MaxDescriptionLength = 64 * 1024;//64Kb public long? AssignedPersonId { get; set; } [Required] [MaxLength(MaxTitleLength)] public string

3. abp依赖注入的分析.md

倖福魔咒の 提交于 2019-12-08 15:04:34
abp依赖注入的原理剖析 请先移步参考 [Abp vNext 源码分析] - 3. 依赖注入与拦截器 本文此篇文章的补充和完善。 abp的依赖注入最后是通过IConventionalRegister接口的AddType方法实现的。先看下该接口: public interface IConventionalRegistrar { void AddAssembly(IServiceCollection services, Assembly assembly); void AddTypes(IServiceCollection services, params Type[] types); void AddType(IServiceCollection services, Type type); } 该接口定义了三个方法,支持传入程序集、类型数组、具体类型,其实现在一个抽象类==ConventionalRegistrarBase==中: public abstract class ConventionalRegistrarBase : IConventionalRegistrar { public virtual void AddAssembly(IServiceCollection services, Assembly assembly) { var types =

4. abp中的asp.net core模块剖析

淺唱寂寞╮ 提交于 2019-12-07 17:57:31
相关模块 AbpAspNetCoreModule AbpAspNetCoreMvcModule AbpAspNetCoreMvcContractsModule abp通过这三个模块加载并配置了 asp.net core。,最主要的就是AbpAspNetCoreMvcModule模块类,abp如何基于aspnet core构建自己的控制器和AppServices,就是在这个类中。 AbpAspNetCoreMvcModule 将AbpAspNetCoreMvcConventionalRegister类添加到ConventionalRegistrarList列表中,该类主要是用来注入依赖及获取服务生命周期的。 public override void PreConfigureServices(ServiceConfigurationContext context) { context.Services.AddConventionalRegistrar(new AbpAspNetCoreMvcConventionalRegistrar()); } 接下来就是重点,在ConfigureServices方法中配置视图和控制器,当然是基于 asp.net core mvc。首先配置Razor: context.Services.Insert(0, ServiceDescriptor

ABP abp zreo 老版本 支持dotnet framework 4.0

℡╲_俬逩灬. 提交于 2019-12-06 16:22:41
下载了个abp zreo的老版本,aspnet-core-template-0.1.0 修改: NuGet中换了一个的版本号 好像是从0.9.4_0 换成了 0.9.4 这个,忘了名字了 new JsonOutputFormatter 这个对象的时候,新增了一个参数,不然会报错 原文:http://www.cocoachina.com/articles/112772 来源: https://www.cnblogs.com/guxingy/p/11993868.html

5. abp集成asp.net core

早过忘川 提交于 2019-12-06 15:12:09
一、前言 参照前篇《4. abp中的asp.net core模块剖析》,首先放张图,这也是asp.net core框架上MVC模块的扩展点 二、abp的mvc对象 AbpAspNetCoreMvcOptions类 从这个类的名称来看,这个是abp框架里面的asp.net core配置mvc选项类,是abp对asp.net core mvc的封装。源码如下: public class AbpAspNetCoreMvcOptions { public ConventionalControllerOptions ConventionalControllers { get; } public AbpAspNetCoreMvcOptions() { ConventionalControllers = new ConventionalControllerOptions(); } } 这个类只有一个默认构造函数,用于实例化一个名为ConventionalControllerOptions的类,从名称来看(得益于变量和类的命名规范化)这是Controller的规约配置。 ConventionalControllerOptions类 该类源码如下: public class ConventionalControllerOptions { public

abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之三(二十九)

自作多情 提交于 2019-12-06 10:02:48
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+easyui+efcore实现仓储管理系统——解决方案介绍(二) abp(net core)+easyui+efcore实现仓储管理系统——领域层创建实体(三) abp(net core)+easyui+efcore实现仓储管理系统——定义仓储并实现 (四) abp(net core)+easyui+efcore实现仓储管理系统——创建应用服务(五) abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之控制器(六) abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之列表视图(七) abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之增删改视图(八) abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之菜单与测试(九) abp(net core)+easyui+efcore实现仓储管理系统——多语言(十) abp(net core)+easyui+efcore实现仓储管理系统——使用 WEBAPI实现CURD (十一)

ABP邮件发送

只谈情不闲聊 提交于 2019-12-05 19:51:30
ABP Vnext发邮件要使用AbpMailKitModule的实现IEmailSender 它使用Setting里面的配置,在官方已经配置如下 internal class EmailSettingProvider : SettingDefinitionProvider { public override void Define(ISettingDefinitionContext context) { context.Add( new SettingDefinition(EmailSettingNames.Smtp.Host, "127.0.0.1"), new SettingDefinition(EmailSettingNames.Smtp.Port, "25"), new SettingDefinition(EmailSettingNames.Smtp.UserName), new SettingDefinition(EmailSettingNames.Smtp.Password, isEncrypted: true), new SettingDefinition(EmailSettingNames.Smtp.Domain), new SettingDefinition(EmailSettingNames.Smtp.EnableSsl, "false"), new

abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之二(二十八)

痞子三分冷 提交于 2019-12-05 17:09:47
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+easyui+efcore实现仓储管理系统——解决方案介绍(二) abp(net core)+easyui+efcore实现仓储管理系统——领域层创建实体(三) abp(net core)+easyui+efcore实现仓储管理系统——定义仓储并实现 (四) abp(net core)+easyui+efcore实现仓储管理系统——创建应用服务(五) abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之控制器(六) abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之列表视图(七) abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之增删改视图(八) abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之菜单与测试(九) abp(net core)+easyui+efcore实现仓储管理系统——多语言(十) abp(net core)+easyui+efcore实现仓储管理系统——使用 WEBAPI实现CURD (十一)

ABP vNext中使用开源日志面板 LogDashboard

孤街醉人 提交于 2019-12-05 16:31:32
ABP vNext 使用 logdashboard 本文示例源码: https://github.com/liangshiw/LogDashboard/tree/master/samples/abpvnext ABP ABP 是aspnetcore3.0的开源web应用程序框架,非常适合现代web应用程序。有关ABP的更多内容可以查看 官方文档 Logdashboard可以直接在基于abp应用程序中安装使用,关于Logdashboard的更多内容可以查看 ASPNETCore开源日志面板 :LogDashboard 示例 本文假设你了解ABP,并不对其做详细解释 使用 abp cli 创建项目 abp new BootStore 使用以下代码覆盖 Program 中的 Serilog 配置 Log.Logger = new LoggerConfiguration() #if DEBUG .MinimumLevel.Debug() #else .MinimumLevel.Information() #endif .MinimumLevel.Override("Microsoft", LogEventLevel.Information) .Enrich.FromLogContext() .WriteTo.Async(c => c.File("Logs/logs.log",