ASP.NET Core 应用开发资源汇总
2016-08-15 本文已影响1360人
我是柯南
2016年6月27日,微软正式发布 .NET Core 1.0.0 RTM版本,标志着.NET Core 可以正式开始用于生产环境,并同时支持 Windows, MacOS, Linux 三大主流平台,以下总结使用.NET Core进行跨平台开发的注意事项和开发资源。
官方资源
博客资源
开发环境配置
- 按照 官方指南 搭建Windows开发环境。
- 安装 Docker for Windows 到开发机上,用于测试开发的项目程序在linux环境中的可用性,docker目前在windows上只支持较新版本的 Windows 10 系统。
- Windows 开发环境配置
- Ubuntu 开发环境配置
- MacOS 开发环境配置
- 微软官方 dotnet core 容器
开源组件(持续更新)
以下是截止提交时间前对.NET Core 和 ASP.NET Core 提供支持的开源框架和库,随着.NET Core 开发的普及,相信很多高质量的库都会提供对.NET Core的支持。
- RestSharp.CoreNet Web 客户端
- HttpClient Web客户端,设计反人类,谨慎使用
- Microsoft ASP.NET Core API Versioning API接口版本化
- Entity Framework Core (EF Core) ASP.NET Core 官方 ORM 框架
- MySql.Data.EntityFrameworkCore EF Core MySql官方驱动
- Pomelo.EntityFrameworkCore.MySql EF Core MySql Pomelo第三方驱动
- AutoMapper 对象映射库
- Dapper 轻量级 ORM 框架
- Nancy 轻量级web框架
- NLog 日志框架
- Orleans 微软开源的一个分布式计算程序开发框架
- XUnit 单元测试框架
- ImageProcessor 一个全新的跨平台2D图像处理框架
- MailKit 邮件收发套件
- BenchmarkDotNet 性能测试库
- Orchard2 CMS内容管理系统
- Json.net Json序列化和反序列化
- RabbitMQ.Client RabbitMQ 消息队列 .NET Core 客户端库
- Redis Redis 数据库 .NET Core 客户端库
- Npgsql EF Core PostgreSQL 数据库驱动
- Swagger API自动化文档工具
- Google Protocol Buffer 结构化数据序列化框架
- Google GRPC 跨语言跨平台RPC框架
Web 服务器
- Kestrel
注意事项
- 监听地址问题
如果将ASP.NET Core网站发布到linux服务器时,如果使用的监听地址是:localhost或者是127.0.0.1,这个服务只能再该主机内部可以访问,外网无法访问,如果网站是通过docker运行的,则无法通过指定端口docker run -d -p 3721:3721 website:v1.0.0
让docker服务器访问该网站,如果在docker服务器上使用curl http://127.0.0.1:3721
试图访问网站时将抛出异常:curl: (56) Recv failure: Connection reset by peer
。
解决方法就是监听地址使用0.0.0.0
,即在所有地址上监听。
public static void Main(string[] args)
{
var host = new WebHostBuilder()
.UseKestrel()
.UseUrls("http://0.0.0.0:3721/")
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
host.Run();
}