Asp.Net Core 项目搭建 基础配置 和MySql 的使用
2016-10-14 19:30
1916 查看
一、开发环境准备
1、安装Visual Studio 2015,我这里安装的是专业版。2、安装.NET Core SDK相关
需要安装 Visual Studio 2015 update3和NET Core 1.0.0 - VS 2015 Tooling
下载列表: 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会有自动的提示,非常方便。
"dependencies": { "Microsoft.NETCore.App": { "version": "1.0.0", "type": "platform" }, "Microsoft.AspNetCore.Diagnostics": "1.0.0", "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0", "Microsoft.AspNetCore.Server.Kestrel": "1.0.0", "Microsoft.Extensions.Logging.Console": "1.0.0", "Microsoft.AspNetCore.Mvc": "1.0.0" },
2 通过NuGet
通过NuGet管理器搜索Microsoft.AspNetCore.Mvc添加引用,或直接在程序包管理器控制台输入命令
Install-Package Microsoft.AspNetCore.Mvc
即可完成Mvc引用的添加。
四、添加MVC服务及Http请求管道处理
添加MVC服务修改Startup.cs的ConfigureServices方法如下
public void ConfigureServices(IServiceCollection services) { services.AddMvc(); }
添加Http请求管道处理
修改Startup.cs的Configure方法如下
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) { loggerFactory.AddConsole(); if (env.IsDevelopment()) { //开发环境异常处理 app.UseDeveloperExceptionPage(); } //使用Mvc,设置默认路由 app.UseMvc(routes => { routes.MapRoute( name: "default", template: "{controller=Login}/{action=Index}/{id?}" ); }); }
五、在项目中使用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 控制台添加Install-Package SapientGuardian.MySql.Data -Pre Install-Package Dapper -Pre
或者修改project.json
{ "version": "1.0.0-*", "buildOptions": { "emitEntryPoint": true }, "dependencies": { "Microsoft.NETCore.App": { "type": "platform", "version": "1.0.1" }, //mysql 相关配置 "Dapper": "1.50.2", "MySql.Data.Core": "7.0.4-IR-191" }, "frameworks": { "netcoreapp1.0": { "imports": "dnxcore50" } } }
在Asp.Net Core 中使用
public static void Main(string[] args) { Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); MySqlConnection con = new MySqlConnection("server=127.0.0.1;database=test;uid=root;pwd=123456;charset='gbk';SslMode=None");//新增数据 con.Execute("insert into user values(null, '测试', 'http://www.cnblogs.com/linezero/', 18)"); //新增数据返回自增id var id=con.QueryFirst<int>("insert into user values(null, 'linezero', 'http://www.cnblogs.com/linezero/', 18);select last_insert_id();"); //修改数据 con.Execute("update user set UserName = 'linezero123' where Id = @Id", new { Id = id }); //查询数据 var list=con.Query<User>("select * from user"); foreach (var item in list) { Console.WriteLine($"用户名:{item.UserName} 链接:{item.Url}"); } //删除数据 con.Execute("delete from user where Id = @Id", new { Id = id }); Console.WriteLine("删除数据后的结果"); list = con.Query<User>("select * from user"); foreach (var item in list) { Console.WriteLine($"用户名:{item.UserName} 链接:{item.Url}"); } Console.ReadKey(); }
Session的操作
参考:http://www.cnblogs.com/savorboard/p/5592948.html通过NuGet程序包管理器、控制台、或直接修改project.json文件,添加对Microsoft.AspNetCore.Session中间件的引用
修改Startup.cs文件的的ConfigureServices方法,增加Session服务注册
public void ConfigureServices(IServiceCollection services) { //添加mvc服务 services.AddMvc(); //添加session服务 services.AddSession(); }
修改Startup.cs文件的的Configure方法,请求管道中启用Session
// 启用Session app.UseSession();
Session的操作
//赋值 键值对形式储存 这里需要把数据转换成Byte数组 HttpContext.Session.Set("UserInfo", ByteConvertHelper.Object2Bytes(null)); //或者session的值 将数据转换成对象 ViewBag.Message = ByteConvertHelper.Bytes2Object(HttpContext.Session.Get("UserInfo")); //session 储存字符串 HttpContext.Session.SetString("Test", "Ben Rules!"); //获取session ViewBag.Message = HttpContext.Session.GetString("Test");
数组转换
参考:http://www.cnblogs.com/fonour/p/5943401.html
/// <summary> /// 转换Byte数组 /// </summary> public class ByteConvertHelper { /// <summary> /// 将对象转换为byte数组 /// </summary> /// <param name="obj">被转换对象</param> /// <returns>转换后byte数组</returns> public static byte[] Object2Bytes(object obj) { string json = JsonConvert.SerializeObject(obj); byte[] serializedResult = System.Text.Encoding.UTF8.GetBytes(json); return serializedResult; } /// <summary> /// 将byte数组转换成对象 /// </summary> /// <param name="buff">被转换byte数组</param> /// <returns>转换完成后的对象</returns> public static object Bytes2Object(byte[] buff) { string json = System.Text.Encoding.UTF8.GetString(buff); return JsonConvert.DeserializeObject<object>(json); } /// <summary> /// 将byte数组转换成对象 /// </summary> /// <param name="buff">被转换byte数组</param> /// <returns>转换完成后的对象</returns> public static T Bytes2Object<T>(byte[] buff) { string json = System.Text.Encoding.UTF8.GetString(buff); return JsonConvert.DeserializeObject<T>(json); } }
相关文章推荐
- Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端
- IT咨询顾问:一次吐血的项目救火 java或判断优化小技巧 asp.net core Session的测试使用心得 【.NET架构】BIM软件架构02:Web管控平台后台架构 NetCore入门篇:(十一)NetCore项目读取配置文件appsettings.json 使用LINQ生成Where的SQL语句 js_jquery_创建cookie有效期问题_时区问题
- Asp.Net Core 2.0 项目实战(6)Redis配置、封装帮助类RedisHelper及使用实例
- ASP.NET Boilerplate 学习 AspNet Core2 浏览器缓存使用 c#基础,单线程,跨线程访问和线程带参数 wpf 禁用启用webbroswer右键菜单 EF Core 2.0使用MsSql/MySql实现DB First和Code First ASP.NET Core部署到Windows IIS QRCode.js:使用 JavaScript 生成
- asp.net core使用mysql.data和dapper操作mysql数据库
- ASP.NET Core实现类库项目读取配置文件
- 【无私分享:ASP.NET CORE 项目实战(第八章)】读取配置文件(二) 读取自定义配置文件
- 【无私分享:ASP.NET CORE 项目实战(第八章)】读取配置文件(二) 读取自定义配置文件
- ASP.NET MVC4 WEB API入门 第二篇:ASP.NET MVC入门基础(1)——项目框架搭建
- ASP.NET Core中使用默认MVC路由的配置
- Asp.Net Core 项目实战之权限管理系统(3) 通过EntityFramework Core使用PostgreSQL
- ASP.NET Core实现类库项目读取配置文件
- 解决ASP.NET Core VS2015 没有“新搭建基架的项目” no New Scaffolded Item
- ASP.NET Core 1.0 基础之配置
- ASP.NET Core 1.0 使用 Dapper 操作 MySql(包含事务)
- ASP.NET core Web中使用appsettings.json配置文件的方法
- .Net Core MVC 网站开发(Ninesky) 2.3、项目架构调整(续)-使用配置文件动态注入
- 【无私分享:ASP.NET CORE 项目实战(第六章)】读取配置文件(一) appsettings.json
- docker4dotnet #3 在macOS上使用Visual Studio Code和Docker开发asp.net core和mysql应用
- 【无私分享:ASP.NET CORE 项目实战(第六章)】读取配置文件(一) appsettings.json