一、开发环境准备

1、安装Visual Studio 2015,我这里安装的是专业版。

2、安装.NET Core SDK相关

下载列表: https://www.microsoft.com/net/download/core

参考链接:http://www.cnblogs.com/fonour/p/5848933.html

              http://www.cnblogs.com/linezero/p/NETCoreMySQL.html

asp.net Mvc http://www.cnblogs.com/slark/p/mvc-5-get-started-view.html

解决方案中相关文件大致说明

  • wwwroot      存放js,css,images等静态资源
  • Program.cs   应用程序入口
  • Startup.cs    应用程序相关启动项配置,包含ConfigureServices和Configure两个方法,前者负责服务的配置,后者负责http请求管道的配置。
  • project.json  项目的基础配置文件

二、Mvc基本应用

添加MVC引用有两种方法。

1 通过project.json

打开project.json文件,在dependencies部门增加Microsoft.AspNetCore.Mvc的引用,当你输入时,Visual Studio会有自动的提示,非常方便。

  1. "dependencies": {
  2. "Microsoft.NETCore.App": {
  3. "version": "1.0.0",
  4. "type": "platform"
  5. },
  6. "Microsoft.AspNetCore.Diagnostics": "1.0.0",
  7.  
  8. "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
  9. "Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
  10. "Microsoft.Extensions.Logging.Console": "1.0.0",
  11. "Microsoft.AspNetCore.Mvc": "1.0.0"
  12. },

2 通过NuGet

通过NuGet管理器搜索Microsoft.AspNetCore.Mvc添加引用,或直接在程序包管理器控制台输入命令

Install-Package Microsoft.AspNetCore.Mvc

即可完成Mvc引用的添加。

四、添加MVC服务及Http请求管道处理

添加MVC服务

修改Startup.cs的ConfigureServices方法如下

  1. public void ConfigureServices(IServiceCollection services)
  2. {
  3. services.AddMvc();
  4. }

 添加Http请求管道处理

修改Startup.cs的Configure方法如下

  1. public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
  2. {
  3. loggerFactory.AddConsole();
  4.  
  5. if (env.IsDevelopment())
  6. {
  7. //开发环境异常处理
  8. app.UseDeveloperExceptionPage();
  9. }
  10.  
  11. //使用Mvc,设置默认路由
  12. app.UseMvc(routes =>
  13. {
  14. routes.MapRoute(
  15. name: "default",
  16. template: "{controller=Login}/{action=Index}/{id?}"
  17. );
  18. });
  19. }

五、在项目中使用MySql

MySQL官方驱动:http://www.cnblogs.com/linezero/p/5806814.html

.NET Core 使用Dapper 操作MySQL 数据库, .NET Core 使用Dapper。

目前官方没有出.NET Core MySQL  驱动,但是已经有第三方进行改动封装出.NET Core MySQL Connector 预览版。

Dapper 也已经出了 .NET Core 预览版。

Dapper dot net 是一个轻量型的ORM,但是性能很强大。

有了.NET Core MySQL Connector  我们可以直接使用ADO.NET 操作数据库。

第三方 MySQL Connector: https://github.com/SapientGuardian/mysql-connector-net-netstandard

Dapper: https://github.com/StackExchange/dapper-dot-net

添加引用

使用 NuGet 控制台添加

  1. Install-Package SapientGuardian.MySql.Data -Pre
  2.  
  3. Install-Package Dapper -Pre

或者修改project.json

  1. {
  2. "version": "1.0.0-*",
  3. "buildOptions": {
  4. "emitEntryPoint": true
  5. },
  6.  
  7. "dependencies": {
  8. "Microsoft.NETCore.App": {
  9. "type": "platform",
  10. "version": "1.0.1"
  11. },
  12. //mysql 相关配置
  13. "Dapper": "1.50.2",
  14. "MySql.Data.Core": "7.0.4-IR-191"
  15. },
  16.  
  17. "frameworks": {
  18. "netcoreapp1.0": {
  19. "imports": "dnxcore50"
  20. }
  21. }
  22. }

在Asp.Net Core 中使用

  1. public static void Main(string[] args)
  2. {
  3. Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
  4. MySqlConnection con = new MySqlConnection("server=127.0.0.1;database=test;uid=root;pwd=123456;charset='gbk';SslMode=None");//新增数据
  5. con.Execute("insert into user values(null, '测试', 'http://www.cnblogs.com/linezero/', 18)");
  6. //新增数据返回自增id
  7. var id=con.QueryFirst<int>("insert into user values(null, 'linezero', 'http://www.cnblogs.com/linezero/', 18);select last_insert_id();");
  8. //修改数据
  9. con.Execute("update user set UserName = 'linezero123' where Id = @Id", new { Id = id });
  10. //查询数据
  11. var list=con.Query<User>("select * from user");
  12. foreach (var item in list)
  13. {
  14. Console.WriteLine($"用户名:{item.UserName} 链接:{item.Url}");
  15. }
  16. //删除数据
  17. con.Execute("delete from user where Id = @Id", new { Id = id });
  18. Console.WriteLine("删除数据后的结果");
  19. list = con.Query<User>("select * from user");
  20. foreach (var item in list)
  21. {
  22. Console.WriteLine($"用户名:{item.UserName} 链接:{item.Url}");
  23. }
  24. Console.ReadKey();
  25. }

Session的操作

参考:http://www.cnblogs.com/savorboard/p/5592948.html

通过NuGet程序包管理器、控制台、或直接修改project.json文件,添加对Microsoft.AspNetCore.Session中间件的引用

修改Startup.cs文件的的ConfigureServices方法,增加Session服务注册

  1. public void ConfigureServices(IServiceCollection services)
  2. {
  3. //添加mvc服务
  4. services.AddMvc();
  5. //添加session服务
  6. services.AddSession();
  7. }

修改Startup.cs文件的的Configure方法,请求管道中启用Session

  1. // 启用Session
  2. app.UseSession();

Session的操作

  1. //赋值 键值对形式储存 这里需要把数据转换成Byte数组
  2. HttpContext.Session.Set("UserInfo", ByteConvertHelper.Object2Bytes(null));
  3.  
  4. //或者session的值 将数据转换成对象
  5. ViewBag.Message = ByteConvertHelper.Bytes2Object(HttpContext.Session.Get("UserInfo"));
  6.  
  7. //session 储存字符串
  8. HttpContext.Session.SetString("Test", "Ben Rules!");
  9.  
  10. //获取session
  11. ViewBag.Message = HttpContext.Session.GetString("Test");

数组转换

参考:http://www.cnblogs.com/fonour/p/5943401.html

  1. /// <summary>
  2. /// 转换Byte数组
  3. /// </summary>
  4. public class ByteConvertHelper
  5. {
  6. /// <summary>
  7. /// 将对象转换为byte数组
  8. /// </summary>
  9. /// <param name="obj">被转换对象</param>
  10. /// <returns>转换后byte数组</returns>
  11. public static byte[] Object2Bytes(object obj)
  12. {
  13. string json = JsonConvert.SerializeObject(obj);
  14. byte[] serializedResult = System.Text.Encoding.UTF8.GetBytes(json);
  15. return serializedResult;
  16. }
  17.  
  18. /// <summary>
  19. /// 将byte数组转换成对象
  20. /// </summary>
  21. /// <param name="buff">被转换byte数组</param>
  22. /// <returns>转换完成后的对象</returns>
  23. public static object Bytes2Object(byte[] buff)
  24. {
  25. string json = System.Text.Encoding.UTF8.GetString(buff);
  26. return JsonConvert.DeserializeObject<object>(json);
  27. }
  28.  
  29. /// <summary>
  30. /// 将byte数组转换成对象
  31. /// </summary>
  32. /// <param name="buff">被转换byte数组</param>
  33. /// <returns>转换完成后的对象</returns>
  34. public static T Bytes2Object<T>(byte[] buff)
  35. {
  36. string json = System.Text.Encoding.UTF8.GetString(buff);
  37. return JsonConvert.DeserializeObject<T>(json);
  38. }
  39. }

Asp.Net Core 项目搭建 基础配置 和MySql 的使用的更多相关文章

  1. Asp.Net Core 项目搭建基础

    很多新接触ASP.NET Core 技术的同学可能会对项目运行机制不了解,会碰到服务在哪添加?路由在哪配置?中间件怎么使用?依赖注入在哪写?诸如此类的问题.同样作为初学者,以下是本人在学习.Net技术 ...

  2. 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之三 —— 配置

    ==== 目录 ==== 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之一 —— 开篇 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之二 —— ...

  3. ASP.NET CORE 项目搭建(2022 年 3 月版)

    ASP.NET CORE 项目搭建(2022 年 3 月版) 自读 沉淀了多年的技术积累,在 .NET FRAMEWORK 的框架下尝试造过自己的轮子. 摸索着闭门造过 基于 OWIN 服务后端. 摸 ...

  4. vue3.0+vite+ts项目搭建--基础配置(二)

    集成vue-router 使用yarn yarn add vue-router@next --save 安装完成之后在src目录下创建文件夹router/index.ts,创建完成之后需要在Vue-R ...

  5. 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之一 —— 开篇

    ==== 目录 ==== 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之一 —— 开篇 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之二 —— ...

  6. 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之二 —— 准备

    ==== 目录 ==== 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之一 —— 开篇 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之二 —— ...

  7. ASP.NET Core 项目配置 ( Startup ) - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core 项目配置 ( Startup ) - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 项目配置 ( Startup ) 前面几章节 ...

  8. Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  9. 【已解决】IIS搭建 asp.net core 项目后 其他电脑访问不到资源文件

    IIS搭建asp.net core 项目后,访问不到里面的资源文件(图片等),解决方法如下: 1.检查asp.net core发布文件中的资源文件是不是都放到了wwwroot名称的目录中. 2.检查a ...

随机推荐

  1. IOS开发基础知识--碎片30

    1:ios 相册操作 ALAssetsLibrary 知识点 a ALAssetsLibrary 实例为我们提供了获取相册(照片app)中的图片和视频的功能.在ios8 photos framewor ...

  2. RecyclerView-------MyAdapter代码

    package com.example.administrator.recyclerview; import android.content.Context; import android.suppo ...

  3. 【原+转】创建CocoaPods私有podspec

    在我的上一篇文章<iOS 手把手教你发布代码到CocoaPods>中着重介绍如何将自己的代码索引添加到公开的CocoaPods中,当你需要主动地向大众开源你的代码时需要那么做.但在现实中我 ...

  4. pull解析器: 反序列化与序列化

    pull解析器:反序列化 读取xml文件来获取一个对象的数据 import java.io.FileInputStream; import java.io.IOException; import ja ...

  5. 创建版本库-GIT

    什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史,或 ...

  6. 【从零开始学习Hadoop】--1.Hadoop的安装

    第1章 Hadoop的安装1. 操作系统2. Hadoop的版本3. 下载Hadoop4. 安装Java JDK5. 安装hadoop6. 安装rsync和ssh7. 启动hadoop8. 测试had ...

  7. .NET应用架构设计—面向查询的领域驱动设计实践(调整传统三层架构,外加维护型的业务开关)

    阅读目录: 1.背景介绍 2.在业务层中加入核心领域模型(引入DomainModel,让逻辑.数据有家可归,变成一个完整的业务对象) 3.统一协调层Application Layer(加入协调层来转换 ...

  8. MongoDB学习笔记~官方驱动嵌套数组对象的更新

    回到目录 对于数组对象mongodb本身是支持的,不过对于数组的更新,mongodb的Csharp驱动目前只支持一级,即你的对象里包含数组,而数组又包括数组,这表示两层,这在更新子数组时,Csharp ...

  9. 大数据系列(2)——Hadoop集群坏境CentOS安装

    前言 前面我们主要分析了搭建Hadoop集群所需要准备的内容和一些提前规划好的项,本篇我们主要来分析如何安装CentOS操作系统,以及一些基础的设置,闲言少叙,我们进入本篇的正题. 技术准备 VMwa ...

  10. Linux简介及常用命令使用3--vi编辑器

    1.进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 [新建文件]vi +n filename :打开文件,并将光标置于第n行首 [比如:某个shell报错的行数时使用] ...