.NET Core相当完善的跨平台特性以及其轻量化的底层接口为我们能顺畅进行微服务开发提供了非常棒的基础. 作为支撑微服务最常见的基础技术--容器化将是本系列的核心内容. 接下来我计划用一个月左右的时间记录我在ASP.NET Core容器化开发中的一部分尝试.文章大概刚要如下: .NET Core容器化开发系列(一)--Docker里面跑个.NET Core .NET Core容器化开发系列(二)--单机Kubernetes上运行.NET Core .NET Core容器化开发系列(三)--集群…
前言 博客园中已经有很多如何在Docker里面运行ASP.NET Core的介绍了.本篇主要介绍一些细节,帮助初学的朋友更加深入地理解如何在Docker中运行ASP.NET Core. 安装Docker Docker现支持在主流Linux.Windows和macOS上安装,官方的安装文档请参考docker docs.鉴于国内的网络环境,建议通过国内大厂/高校提供的镜像站快速安装,比如阿里巴巴开源镜像站,Ubuntu和Centos7上的安装方式如下: Ubuntu 14.04 16.04 (使用a…
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 目前我们已经编写了一些Controller并通过Swagger进行了查询和调试,本篇将讨论Controller中的一些概念,包括: 1.GET.POST.PUT与DELETE 2.Route(路由) 3.Reques的类型 4.Produces 二.GET.POST.PUT与DELETE 先看一段代码: [P…
使用react全家桶制作博客后台管理系统   前面的话 笔者在做一个完整的博客上线项目,包括前台.后台.后端接口和服务器配置.本文将详细介绍使用react全家桶制作的博客后台管理系统 概述 该项目是基于react全家桶(React.React-router-dom.redux.styled-components)开发的一套博客后台管理系统,用于前端小站的管理,主要功能包括游客浏览.文章管理.类别管理.评论通知.推荐设置和用户管理 [访问地址] 域名:https://admin.xiaohuoch…
C#设计模式总结 一. 设计原则 使用设计模式的根本原因是适应变化,提高代码复用率,使软件更具有可维护性和可扩展性.并且,在进行设计的时候,也需要遵循以下几个原则:单一职责原则.开放封闭原则.里氏代替原则.依赖倒置原则.接口隔离原则.合成复用原则和迪米特法则.下面就分别介绍了每种设计原则. 1.1 单一职责原则 就一个类而言,应该只有一个引起它变化的原因.如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会影响到其他的职责.另外,把多个职责耦合在一起,也会影响复用性. 1.…
一.序言 我大约在2003年时候开始接触到.NET,最初在.NET framework 1.1版本下写过代码,曾经做过WinForm和ASP.NET开发.大约在2010年的时候转型JAVA环境,这么多年来,虽然工作已面向JAVA方向,但没有放弃过.NET,一直保持关注,内心由衷觉得C#是我接触过的最美的语言. 但是.NET的市场环境一直不理想,对于Windows的依赖限制了它的发展,公司主要客户都纷纷转向Linux环境,“去IOE”的浪潮更推动了形势的发展.期间还经历过几件让人灰心的事情,就是S…
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 本篇介绍如何使用中间件(Middleware). 二.初步演练 先写几个中间件 public class DemoAMiddleware { private readonly RequestDelegate _next; private readonly ILogger _logger; public Dem…
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 本篇介绍如何采用依赖注入的方式创建和使用对象,主要从应用层面进行描述,不涉及具体的内部原理. 二.演练 假设要做一个日志服务的类,它实现在控制台打印出带时间信息的日志信息. 首先定义该服务的接口与实现类. public interface ILogService { void LogInfomation(st…
原文:.net core--Docker化开发和部署 本篇文章是使用Vs2017生成的Dockerfile进行部署的. 目录 VS2017生成Docker部署项目 Dockerfile内容 在开发服务器安装 结论 引用链接 VS2017生成Docker部署项目 这里采用VS2017自动生成Dockerfile,建立项目时选择启用Docker支持,可选择linux和windows,windows需要安装docker for windows,这里不再描述.本篇文章主要以CentOS为部署目标. Do…
原文:循序渐进学.Net Core Web Api开发系列[13]:中间件(Middleware) 系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 本篇介绍如何使用中间件(Middleware). 二.初步演练 先写几个中间件 public class DemoAMiddleware { private readonly RequestDelegate _…
1.引言 紧接上篇.NET Core容器化@Docker,这一节我们先来介绍如何使用Nginx来完成.NET Core应用的反向代理,然后再介绍多容器应用的部署问题. 2. Why Need Nginx .NET Core中默认的Web Server为Kestrel. Kestrel is great for serving dynamic content from ASP.NET, however the web serving parts aren't as feature rich as…
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 应用安全除了用户权限认证外,还要考虑到数据安全,传输安全.系统漏洞等方面.本篇文章重点讨论数据存储安全和传输安全,主要技术手段就是加密和解密. 二.基本概念 信息在传输和存储的过程中有泄密的风险,加密的目的就是解决这些风险. 1.信息存储在数据库中,如果数据库泄露会造成敏感数据泄露,如用户密码,手机号码.工资…
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 本篇介绍Web系统的应用安全,主要涉及用户的身份认证和访问权限问题. 大部分web应用习惯采用Session来保存用户认证信息,对于WebApi而言,调用者不一定是Web浏览器,可能是Android.iOS客户端,可能是微信小程序,也可能是客户端程序等等,这些客户端模拟构造cookie.存储或传递sessio…
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 本篇介绍异常处理的知识.由于异常处理的技术应用并不复杂,本篇更多讨论异常处理的一些理论知识,包括一些原则.约定和建议. 二.异常处理的基本原则 在Win32API编程中是没有异常处理机制的,函数一般都是通过返回一个BOOL型的状态码来表达处理是否成功,比如需要通过ID取得一个实体信息,需要这样定义: BOOL…
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 本篇介绍如何使用缓存,包括MemeryCache和Redis. 二.MemeryCache 1.注册缓存服务 public void ConfigureServices(IServiceCollection services) { services.AddMemoryCache(); } 貌似较新的版本是默认…
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.本篇概述 本篇介绍日志的使用,包括系统默认的控制台日志和第三方NLog日志管理. 二.使用系统控制台日志 1.使用内置日志 [Produces("application/json")] [Route("api/Article")] public class ArticleControl…
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 本篇描述一些常用的数据库操作,包括:条件查询.排序.分页.事务等基本数据库操作.试验的数据库为MySQL. 二.条件查询1.查询所有记录 List<Article> articles = _context.Articles.ToList<Article>(); 2.根据主键进行查询 Articl…
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 本篇讨论如何连接数据库,包括连接SQL Server 和 连接MySQL,然后做一些基本的数据操作. 二.连接SQL Server 首先通过NuGet添加相关的包: 新建一个实体类: public class Product { [Key] public string Code { get; set; } p…
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 本篇讨论如何把项目发布到Linux环境,主要包括以下内容: 1.项目打包 2.配置Nginx转发 3.配置守护服务Supervisor 在介绍实际内容前,有两个疑问需要探讨一下: 1.我们的项目发布后可以自宿主运行,为什么要配置nginx转发? 答:nginx是专业的网络服务器,功能强大,可以帮忙处理静态资源…
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.本篇概述 本篇描述appsettings.json的使用,包括: 1.配置的基本读取 2.读取配置信息到自定义的对象 3.自定义配置文件 一.配置的基本读取 要读取的配置文件内容如下: { "ConnString": "MySQL Connect String", "Logg…
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 本篇介绍通过.NET core WebApi实现文件上传. 二.Controller端代码 直接上代码: [Route("api/files")] [Produces("application/json")] public class FileController : Contr…
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 前一篇文章重点介绍了Controller的一些知识,本篇重点介绍如何通过HTML端来调用这些后台API. 二.准备工作 1.引入js包 前面介绍过前端的js包,需要通过Bower工具进行管理,这里我们添加三个js的包: jQuery jquery-form bootstrap 2.添加静态文件支持 所有静态页…
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 既然前后端开发完全分离,那么接口的测试和文档就显得非常重要,文档维护是一件比较麻烦的事情,特别是变更的文档,这时采用Swagger就会非常方便,同时解决了测试和接口文档两个问题. 二.使用NuGet获取包 使用NuGet搜索包:Swashbuckle.aspnetcore并安装. 三.添加代码 在Startu…
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.本篇概述 本篇不打算描述如何通过Visual Studio创建一个项目之类的话题,主要描述以下内容: 1.使用NuGet和Bower引入第三方库 2.Linux下安装运行环境 3.关于安装虚拟机时碰到的网络设置的问题 实验环境:Windows 10 ,Visual Studio 2017 ,VM 14 , Cent…
原文补充: -- docker-compose.ymlversion: ' services: mvc-web: container_name: mvc.web.compose build: . reverse-proxy: container_name: reverse-proxy image: nginx ports: - "9090:8080" volumes: - ./proxy.conf:/etc/nginx/conf.d/default.conf -- Dockerfile…
循序渐进学.Net Core Web Api开发系列[1]:开发环境 循序渐进学.Net Core Web Api开发系列[2]:利用Swagger调试WebApi 循序渐进学.Net Core Web Api开发系列[3]:WebApi开发概览 循序渐进学.Net Core Web Api开发系列[4]:前端访问WebApi 循序渐进学.Net Core Web Api开发系列[5]:文件上传 循序渐进学.Net Core Web Api开发系列[6]:配置文件 循序渐进学.Net Core…
当前标签: 循序渐进学.Net Core Web Api开发系列   循序渐进学.Net Core Web Api开发系列[16]:应用安全续-加密与解密 NET未来之路 2019-03-13 15:10 阅读:122 评论:0   循序渐进学.Net Core Web Api开发系列[15]:应用安全 NET未来之路 2019-03-13 15:10 阅读:20 评论:0   循序渐进学.Net Core Web Api开发系列[14]:异常处理 NET未来之路 2019-03-13 15:0…
温馨提示:本文适合动手演练,效果更佳.  1. 引言 我们知道. NET Core最大的特性之一就是跨平台,而对于跨平台,似乎大家印象中就是可以在非Windows系统上部署运行.而至于如何操作,可能就有所欠缺.那这一节我们就结合简单实例一步一步教你如何借助Docker来容器化 .NET Core应用,以完成跨平台的构建和部署.  2. 环境准备 自从玩.NET就一直和Windows系统打交道,如果还基于Windows来展开本节内容,不就跑题了吗?!那咱们就切换到Linux系统. 如果没有Linu…
讲故事 关注我公众号的朋友,应该知道我写了一些云原生应用收集和分析相关的文章,其中内容大多聚焦某个具体的组件: 超级有用的TraceId,快点用起来吧! 如何利用NLog输出结构化日志,并在Kibana优雅分析日志? | 既然能直接向ElasticSearch写日志,为什么还要logstash日志摄取器? 本文记录一套标准的.无侵入的的容器化应用日志收集方案: 什么样的日志应该被收集? 如何输出为结构化日志? 使用EFK无侵入的收集分析日志 定制ASP.NET Core日志; 将结构化日志输出到…
阿里钉钉在商业领域的规模越来越大,基于钉钉办公的企业越来越多,将一个企业内现有用到的工具(如钉钉)能够更融入到他们的工作中,提高工作效率,那便需要开发者不断的学习.应用了,同时,个人也有一个预感,未来围绕钉钉作为企业办公的必备利器,将会减少我们在软件开发过程中一些基础设施的建设,如部门.用户等这些的管理,更加偏重业务的价值了.   一.接入钉钉初衷 钉钉内部的一些功能越来越丰富,如果结合到现有业务功能中,可以减少部分功能的再次开发,而是直接利用钉钉完成,比如,新上线的一个审批签名功能,如果能够引…