github:https://github.com/zzhi/DotNetWeb

这是一个基于asp.net core web application的练习项目,目的是学习dotnet core新技能。

1,目前实现了基于mysql简单的增删查改功能(Dapper)。https://github.com/StackExchange/dapper-dot-net

示例:

  1. [HttpPost]
  2. [ValidateAntiForgeryToken]
  3. public IActionResult Edit(int id, [Bind("ID,Genre,Price,ReleaseDate,Title")] Movie movie)
  4. {
  5. if (id != movie.ID)
  6. {
  7. Log.Information("ID为空");
  8. return NotFound();
  9. }
  10.  
  11. if (ModelState.IsValid)
  12. {
  13. try
  14. {
  15. MySqlConnection con = new MySqlConnection(Config.DbServer);
  16.  
  17. string sql = "UPDATE `movie` SET `Title`='" + movie.Title + "', `ReleaseDate`='" + Convert.ToDateTime(movie.ReleaseDate).ToString("yyyy-MM-dd HH:mm:ss") + "', `Genre`='" + movie.Genre + "', `Price`='" + movie.Price + "' WHERE ID =" + id;
  18. con.Execute(sql);
  19. Log.Information("操作成功");
  20. }
  21. catch (Exception ex)
  22. {
  23. Log.Information(ex.Message);
  24. throw new Exception(ex.Message);
  25. }
  26. return RedirectToAction("Index");
  27. }
  28. return View(movie);
  29. }

  

2,添加了日志功能(Serilog) https://github.com/serilog/serilog;

  1. #region 日志
  2. Log.Logger = new LoggerConfiguration()
  3. .MinimumLevel.Debug()//等级
  4. .WriteTo.LiterateConsole()//写到控制台
  5. .WriteTo.RollingFile("logs\\{Date}.txt")//写到文本
  6. .CreateLogger();
  7. #endregion

3,添加了Redis: https://www.nuget.org/packages/ServiceStack.Redis.Core/

  1. [Fact]
  2. public void SetGetTest()
  3. {
  4.  
  5. var manager = new RedisManagerPool("localhost:6379");
  6. using (var client = manager.GetClient())
  7. {
  8. client.Set("foo", "bar");
  9. Console.WriteLine("Redis Test: foo={0}", client.Get<string>("foo"));
  10. }
  11. }

4,添加了xUnit.net :https://xunit.github.io/docs/getting-started-dotnet-core.html

  1. {
  2. "version": "1.0.0-*",
  3. "testRunner": "xunit",
  4. "dependencies": {
  5. "xunit": "2.2.0-beta2-build3300",
  6. "Utility": "1.0.0-*",
  7. "System.Text.Encoding.CodePages": "4.3.0",
  8. "dotnet-test-xunit": "2.2.0-preview2-build1029"
  9. },
  10. "frameworks": {
  11. "netcoreapp1.0": {
  12. "dependencies": {
  13. "Microsoft.NETCore.App": {
  14. "type": "platform",
  15. "version": "1.0.0"
  16. }
  17. }
  18. }
  19. }
  20. }

asp.net core 实践的更多相关文章

  1. ASP.NET Core WebAPI 开发-新建WebAPI项目 转

    转 http://www.cnblogs.com/linezero/p/5497472.html ASP.NET Core WebAPI 开发-新建WebAPI项目   ASP.NET Core We ...

  2. ASP.NET Core 2 学习笔记(十二)REST-Like API

    Restful几乎已算是API设计的标准,通过HTTP Method区分新增(Create).查询(Read).修改(Update)和删除(Delete),简称CRUD四种数据存取方式,简约又直接的风 ...

  3. ASP.NET Core开发Docker部署

    ASP.NET Core开发Docker部署,.NET Core支持Docker 部署运行.我们将ASP.NET Core 部署在Docker 上运行. 大家可能都见识过Docker ,今天我们就详细 ...

  4. ASP.NET Core MVC TagHelper实践HighchartsNET快速图表控件-开源

    ASP.NET Core MVC TagHelper最佳实践HighchartsNET快速图表控件支持ASP.NET Core. 曾经在WebForms上写过 HighchartsNET快速图表控件- ...

  5. 基于Jenkins Pipeline的ASP.NET Core持续集成实践

    最近在公司实践持续集成,使用到了Jenkins的Pipeline来提高团队基于ASP.NET Core API服务的集成与部署效率,因此这里总结一下. 一.关于持续集成与Jenkins Pipelin ...

  6. ASP.NET CORE做的网站运行在docker实践

    用VS2017 建立了 DotNet Core 2.2 的网站后,如何转移到 Docker 下运行? 下面分两种方式来实践: 1.直接手动命今行,将本机目录映射进Docker,运行网站.2.制作 Im ...

  7. ASP.NET Core Docker jexus nginx部署-CentOS实践版

    本文用图文的方式记录了我自己搭建centos+asp.net core + docker + jexus + nginx的整个过程,希望对有同样需求的朋友有一定的参考作用. 本文主要内容如下: cen ...

  8. ASP.NET Core OceLot 微服务实践

    1.OceLot中间件介绍 在传统的BS应用中,随着业务需求的快速发展变化,需求不断增长,迫切需要一种更加快速高效的软件交付方式.微服务可以弥补单体应用不足,是一种更加快速高效软件架构风格.单体应用被 ...

  9. 使用Asp.Net Core MVC 开发项目实践[第一篇:项目结构说明]

    先从下图看整体项目结构: Mango.Manager: 为后台管理项目 Mango.Web: 为前台项目 Mango.Framework.Core: 为常用的基础操作类项目 Mango.Framewo ...

随机推荐

  1. 【软工实践】第四次作业--爬虫结合WordCount

    结对同学博客链接 本次作业博客链接 github项目地址 具体分工 我主要负责用python写爬虫部分,他负责C++部分 PSP表格 解题思路 代码的核心思路是利用爬虫,爬取论文网址,之后吧对应信息( ...

  2. Alpha冲刺——第六天

    Alpha第六天 听说 031502543 周龙荣(队长) 031502615 李家鹏 031502632 伍晨薇 031502637 张柽 031502639 郑秦 1.前言 任务分配是VV.ZQ. ...

  3. RovingUI组件库-包含堆栈式通知提醒框(Toast)的小程序组件库

    RovingUI是个人在开发小程序过程中将用到的组件集合而成的一个UI库,包含一些基本通用组件(按钮.栅格.通用样式.徽标.通知和面包屑). 源起得归于我在开发中没有找到现成的堆栈式提醒框(比如ant ...

  4. 【BioCode】读文件夹以发现缺失文件

    代码说明: 使用单个蛋白质的txt计算PSSM生成的结果为单个的PSSM文件. 但是由于一些原因(如蛋白质序列过长),会导致一些蛋白质txt文件无法计算出pssm,为了找到这些没有计算出pssm的蛋白 ...

  5. 【vue】vue安装卡住/报错

    网上有很多教程怎么安装: 安装cnpmnpm install -g cnpm --registry=https://registry.npm.taobao.org 升级npmcnpm install ...

  6. php缩略图

    /*引入文件Easyphpthumbnail.class.php 引用地址:http://www.itdaodan.com/article-detail-id-252.html */   class ...

  7. PHP中is_null()方法

    is_null — 检测变量是否为 NULL bool is_null ( mixed $var ) 如果 var 是 null 则返回 TRUE,否则返回 FALSE.  举例: $x=" ...

  8. UVA11737_Extreme Primitive Society

    这是隐藏的最深的一个水题.其隐藏性能如此之好,是因为题目的描述十分蛋疼,写了好多好多的废话. 让我们这种过不了六级的孩子情何以堪啊. 是这样的,给你若干个矩形,每次在所有的矩形中两两组合形成许多许多新 ...

  9. xpath定位相邻元素方法

    在定位页面元素时,有时候需要根据某个元素特征,去定位其相邻元素/兄弟元素,或者定位其父元素的兄弟元素(或叔伯元素的子元素).这里引入xpath的两个定位方法: preceding-sibling fo ...

  10. C++解析(1):C到C++的升级

    0.目录 1.C与C++的关系 2.C到C++的升级 2.1 语言的实用性 2.2 register关键字 2.3 同名的全局变量 2.4 struct关键字 2.5 int f() 与 int f( ...