基于AspNet Core2.0(测试版) 开发框架,包含简单的个人博客Demo
2017-06-26 16:46
495 查看
大家好,最近离职了,利用闲暇时间就捣鼓了一个基于AspNet Core开发框架,分享出来希望能给AspNet Core学者带来一些帮助,同时也能跟大家一起学习。当然了,由于我的个人技术及经验的有限,框架还是有很多Bug或不足之处,希望各位大神或园友指出,我会继续完善的,可以通过这些方式联系到我qq:891022171、邮箱:lishuyiba@126.com
以下仅代表个人观点,与本人所在公司无关。
使用到的技术:AspNet Core 2.0 + EF +Auofac+ SqlServer2012 + Bootstrap + Layer + ace admin
根据的理解,目前我知道有三种比较好依赖注入管理的方式
1、 第一种、定义依赖注入接口,只要实现了该接口的都自动注入到IOC容器。
2、 第二种、定义特定的后缀,只要符合该特定后缀都自动注入到IOC容器。
3、 第三种、定义特性类,查找标识有该特性的类并注入到IOC容器。
我的项目使用了第一种,基本思路如下
程序启动时查找bin下所有的DLL并利用反射查找实现了IDependencyAutofacRegistrar接口的类注入到容器,实现解耦。
说明:
1、由于目前Core 2.0属于预览版,启动web项目时不能打开网页,可能跟版本有关,等正式版发布后,我再重新发布看看。。。。
2、想要VS2017能编译通过,要修改环境变量,添加MSBuildSdksPath,并设置 Core2.0 SDK的路径,下面是我本机的配置。。。 Core2.0 SDK下载地址:https://download.microsoft.com/download/3/7/F/37F1CA21-E5EE-4309-9714-E914703ED05A/dotnet-dev-win-x64.2.0.0-preview1-005977.exe
数据库脚本
############################################################
参考资料:
http://www.cnblogs.com/flyfish2012/p/3779810.html
http://docs.autofac.org/en/latest/integration/webapi.html
http://www.cnblogs.com/gamehiboy/p/5176618.html
https://docs.microsoft.com/en-us/ef/core/index
http://docs.autofac.org/en/latest/integration/webapi.html
以下仅代表个人观点,与本人所在公司无关。
使用到的技术:AspNet Core 2.0 + EF +Auofac+ SqlServer2012 + Bootstrap + Layer + ace admin
根据的理解,目前我知道有三种比较好依赖注入管理的方式
1、 第一种、定义依赖注入接口,只要实现了该接口的都自动注入到IOC容器。
2、 第二种、定义特定的后缀,只要符合该特定后缀都自动注入到IOC容器。
3、 第三种、定义特性类,查找标识有该特性的类并注入到IOC容器。
我的项目使用了第一种,基本思路如下
程序启动时查找bin下所有的DLL并利用反射查找实现了IDependencyAutofacRegistrar接口的类注入到容器,实现解耦。
说明:
1、由于目前Core 2.0属于预览版,启动web项目时不能打开网页,可能跟版本有关,等正式版发布后,我再重新发布看看。。。。
2、想要VS2017能编译通过,要修改环境变量,添加MSBuildSdksPath,并设置 Core2.0 SDK的路径,下面是我本机的配置。。。 Core2.0 SDK下载地址:https://download.microsoft.com/download/3/7/F/37F1CA21-E5EE-4309-9714-E914703ED05A/dotnet-dev-win-x64.2.0.0-preview1-005977.exe
USE [dbCore] GO /****** Object: Table [dbo].[Article] Script Date: 2018/1/6 23:16:38 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Article]( [Id] [int] IDENTITY(1,1) NOT NULL, [AuthorId] [int] NOT NULL, [CategoryId] [int] NOT NULL, [Content] [nvarchar](max) NULL, [CreateTime] [datetime2](7) NOT NULL, [DelFlag] [int] NOT NULL, [LastEditTime] [datetime2](7) NOT NULL, [Status] [int] NOT NULL, [Title] [nvarchar](max) NULL, [ViewCount] [int] NOT NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO /****** Object: Table [dbo].[Category] Script Date: 2018/1/6 23:16:38 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Category]( [Id] [int] IDENTITY(1,1) NOT NULL, [Name] [nvarchar](max) NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO /****** Object: Table [dbo].[Role] Script Date: 2018/1/6 23:16:38 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Role]( [Id] [int] IDENTITY(1,1) NOT NULL, [Name] [nvarchar](max) NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO /****** Object: Table [dbo].[SystemLog] Script Date: 2018/1/6 23:16:38 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[SystemLog]( [Id] [int] IDENTITY(1,1) NOT NULL, [Date] [datetime2](7) NOT NULL, [Operate] [nvarchar](max) NULL, [UserName] [nvarchar](max) NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO /****** Object: Table [dbo].[Tag] Script Date: 2018/1/6 23:16:38 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Tag]( [Id] [int] IDENTITY(1,1) NOT NULL, [Name] [nvarchar](max) NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO /****** Object: Table [dbo].[Users] Script Date: 2018/1/6 23:16:38 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Users]( [Id] [int] IDENTITY(1,1) NOT NULL, [Account] [nvarchar](max) NULL, [Password] [nvarchar](max) NULL, [CreateTime] [datetime2](7) NOT NULL, [LastEditTime] [datetime2](7) NOT NULL, [DelFlag] [int] NOT NULL, [RoleID] [int] NOT NULL, [Status] [int] NOT NULL, CONSTRAINT [PK_T_CMS_CONTENTTAG] PRIMARY KEY CLUSTERED ( [Id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO
数据库脚本
############################################################
参考资料:
http://www.cnblogs.com/flyfish2012/p/3779810.html
http://docs.autofac.org/en/latest/integration/webapi.html
http://www.cnblogs.com/gamehiboy/p/5176618.html
https://docs.microsoft.com/en-us/ef/core/index
http://docs.autofac.org/en/latest/integration/webapi.html
相关文章推荐
- 基于AspNet Core2.0 开发框架,包含简单的个人博客Demo
- 基于ssm框架的个人博客系统(10)--编写博客页面开发
- 基于ssm框架的个人博客系统(11)--后台开发及前后端数据交互
- 基于openssl的计算机安全学demo(包含Diffie-Hellman,HAMC,AES的简单应用)
- 基于Blue框架开发的简单网游
- 基于Cocos2dx开发卡牌游戏Demo_放开那三国 2.0
- 基于ThinkPHP3.1.2框架开发的WBlog博客程序
- 基于Cocos2dx开发卡牌游戏Demo_放开那三国 2.0
- 基于框架的博客Bloger系统开发的质量属性
- [webservice] 基于Axis2的WebService开发及Demo下载(包含jar包)
- NBear基于.Net 2.0开放源代码的开发框架
- IOS 基于AV Foundation框架开发简单音乐播放器
- iOS 6编程-基于AV Foundation框架开发简单音乐播放器
- 基于yii1.1开发个人博客系统
- 基于java极速WEB+ORM 框架:jfinal2.0开发的通用后台管理系统及源码
- 【Apache Mina2.0开发之一】搭建Apache Mina框架并实现Server与Client端的简单消息传递!
- 基于ThinkPHP3.1.2框架开发的WBlog博客程序
- Xamarin 2.0:基于Mono跨平台开发框架
- 基于.Net 2.0 (C# 2.0, ASP.NET 2.0)的快速开发框架设计NBear V1.8.1 [开源]
- 【Apache Mina2.0开发之一】搭建Apache Mina框架并实现Server与Client端的简单消息传递!