开源Asp.Net Core小型社区系统
源码地址:Github
前言
盼星星盼月亮,Asp.Net Core终于发布啦!!
Asp.Net发布时我还在上初中,没有赶上。但是Asp.Net Core我从beta版本便一直关注。最初项目名叫Asp.Net VNext,然后改名叫Asp.Net 5。最煎熬的是RC1发布后,官方继续发布了改名和RC2延期的通告。这期间我已经做了一些demo项目,但是由于beta到RC2之间涉及到大量API的改动,包括dnx->dotnet cli,包括各种命名空间和工具名称的改动等等,因此这部分demo都已删掉。5月份,Github Asp.Net Core更新路线图,确定RC2于5月中旬发布,同时确定RC2会作为最终发布的版本基础。那段时间我疯狂的关注着Github,即使在国外度蜜月,也会在晚上蹭Wifi关注着动态(这里提一下,有空看一下各个项目的issue,可以积累很多知识。同时很多小道消息都可以在members的回复中看出来)。好在接下来没有再次跳票,开源、跨平台、高性能的Asp.Net Core终于来啦!
小型社区系统
首先看下项目截图:



项目布局参考了CNodeJS 前端采用了Bootstrap,数据库访问用了EntityFramework Core,同时自己用Middleware实现了一个简单的身份认证功能
目前完成的功能:注册,登录,发帖,回帖,收藏,置顶,精华等功能。
项目地址:GitHub
如何运行:
1. 首先安装基础环境
2. clone或者下载项目,先设置连接字符串,然后还原数据库,最后运行即可
详细流程请点击上方连接查看项目主页
开发感受
1. 对于初学者,Asp.Net Core的入门门槛还是挺高的。
没有了WebForm,无法再拖拖控件就完成一个Hello World Page。
MVC和WebApi合二为一,那么至少对这2种技术应该有些基础了解。
处理HTTP请求从传统的Handler、Page变成了Middleware,如果不熟悉nodejs(express)的话又是个新鲜事物。
搭建一个web项目,首先就用到依赖注入容器,又有多少初学者接触过依赖注入呢?
2. 对于.Net开发者,还有很多东西要学。
新的TagHelper和ViewComponent,看来是要培养起面向组建编程的习惯了。
前端可以方便的集成bower, gulp等,那么NodeJS, npm, bower, gulp等等都是需要学的。
project.json里面的东西涉及到编译、发布、部署等等一系列配置,再结合dotnet命令,可以很简单的实现自动化,想起来是不是很激动?
新的EntityFramework Core Migration,直接基于命令生成和更新数据库,看起来是不是很酷?
整个AspNet Core Framework都开源了,基础源码难道不想去看看?
最最最重要的是跨平台!现在我们再也没法逃避Linux啦,大家赶紧装虚拟机,从最基本的ls开始linux之旅吧!
3. 对于Asp.Net Core,还有很长的路要走
性能:从官方的性能测试看出,目前Asp.Net Core可以超过NodeJS,但是比JAVA的Netty还是差了太多(这个测试看起来还是RC1的版本)。首先我觉得大家应该培养起异步编程的好习惯,这篇文章讲述了异步编程是如何提升并发效率的;其次只能寄希望于微软继续提升性能,或者有第三方高性能web框架出现。
框架:Asp.Net Core从出生起就声明了只是.Net Framework的子集,但是部分基础框架的缺失还是带来了很大的不便。最最不方便的就是System.Drawing。
第三方库:作为一个婴儿,Asp.Net Core才刚出生,又经历跳票,因此这方面资源少得可怜。几大热门项目:Dapper,AutoMapper,Nlog等倒是很早就开始支持了。
开发人员流失:谁敢说身边没有从.Net转Java,转Android,转IOS的??
后记
昨天加班到3点,今天早上继续上班,头都是晕的。个人技术不好,见解不够,以上都是自己的想法,希望大家多多交流,一起为.Net社区出力!!
开源Asp.Net Core小型社区系统的更多相关文章
- Elasticsearch,Kibana,Logstash,NLog实现ASP.NET Core 分布式日志系统
Elasticsearch - 简介 Elasticsearch 作为核心的部分,是一个具有强大索引功能的文档存储库,并且可以通过 REST API 来搜索数据.它使用 Java 编写,基于 Apac ...
- ASP.NET Core分布式日志系统ELK实战演练
一.ELK简介 ELK是Elasticsearch.Logstash和Kibana首字母的缩写.这三者均是开源软件,这三套开源工具组合起来形成了一套强大的集中式日志管理平台. • Elastics ...
- ASP.NET Core集成现有系统认证
我们现在大多数转向ASP.NET Core来使用开发的团队,应该都不是从0开始搭建系统,而是老的业务系统已经在运行,ASP.NET Core用来开发新模块.那么解决用户认证的问题,成为我们的第一个拦路 ...
- ASP.NET Core依赖注入系统学习教程:关于服务注册使用到的方法
在.NET Core的依赖注入框架中,服务注册的信息将会被封装成ServiceDescriptor对象,而这些对象都会存储在IServiceCollection接口类型表示的集合中,另外,IServi ...
- ASP.NET Core依赖注入系统学习教程:容器对构造函数选择的策略
.NET Core的依赖注入容器之所以能够为应用程序提供服务实例,这都归功于ServiceDescriptor对象提供的服务注册信息.另外,在ServiceDescriptor对象中,还为容器准备了3 ...
- ASP .NET CORE 部署linux 系统上的所需要的sdk 使用链接
https://www.microsoft.com/net/learn/get-started/linuxopensuse
- Asp.Net Core
开源Asp.Net Core小型社区系统 源码地址:Github 前言 盼星星盼月亮,Asp.Net Core终于发布啦!! Asp.Net发布时我还在上初中,没有赶上.但是Asp.Net Core我 ...
- 温故知新,使用ASP.NET Core创建Web API,永远第一次
ASP.NET Core简介 ASP.NET Core是一个跨平台的高性能开源框架,用于生成启用云且连接Internet的新式应用. 使用ASP.NET Core,您可以: 生成Web应用和服务.物联 ...
- ASP.NET Core 源码学习之 Logging[4]:FileProvider
前面几章介绍了 ASP.NET Core Logging 系统的配置和使用,而对于 Provider ,微软也提供了 Console, Debug, EventSource, TraceSource ...
随机推荐
- mysql online ddl
大家知道,互联网业务是典型的OLTP(online transaction process)应用,这种应用访问数据库的特点是大量的短事务高并发运行.因此任何限制高并发的动作都是不可接受的,甚至 ...
- Boost.log
=================================版权声明================================= 版权声明:本文为博主原创文章 未经许可不得转载 请通过右 ...
- 【mysql】关于硬件方面的一些优化
一.CPU最大性能模式 cpu利用特点 5.1 最高可用4个核 5.5 最高可用24核 5.6 最高可用64核心 一次query对应一个逻辑CPU 你仔细检查的话,有些服务器上会有的一个有趣的现象:你 ...
- 如何编译ReactNative示例程序Examples
通过示例程序可以看到一些基本组件的使用,对于学习ReactNative是很有帮助的. 编译示例程序需要将整个项目导入到androidStudio中,androidStudio导入项目时选择react- ...
- Python使用QRCode模块生成二维码
QRCode官网https://pypi.python.org/pypi/qrcode/5.1 简介python-qrcode是个用来生成二维码图片的第三方模块,依赖于 PIL 模块和 qrcode ...
- WCF自定义Header
MiscWebSrvcInfClient client = new MiscWebSrvcInfClient("MiscWSBeanPort", ConfigurationMana ...
- 欲哭无泪的@Autowired注入对象为NULL
欲哭无泪啊...一下午的时间就这么被浪费了...一个基于spring mvc和spring data jpa的小项目,当我写完一个controller的测试用例后,一运行却报空指针,跟了下是一个dao ...
- 教你一招 - 如何给nopcommerce增加一个类似admin的area
asp.net mvc里面的area是什么,点击这里查看 如果在nopcommerce里面加入类似admin的area,步骤如下: 1.新建一个mvc空项目MvcApplication1,位置放在\N ...
- 阿里云消息队列MQ_HTTP接入 for .NetCore 简单例子
, , )).TotalMilliseconds; , , )).TotalMilliseconds; ) ...
- PHP用户注册邮箱验证激活帐号
我们在很多网站注册会员时,注册完成后,系统会自动向用户的邮箱发送一封邮件,这封邮件的内容就是一个URL链接,用户需要点击打开这个链接才能激活之前在该网站注册的帐号.激活成功后才能正常使用会员功能. 本 ...