今天准备更新这个项目的第二篇博客。有一点需要说明的是之前觉得用的是Asp.net的WebPage,经过查看微软的官方文档还有相关的博客,相比较而言使用起来需要安装一个自动工具WebMatrix可以很快的搭建页面,除此之外我认为使用和学习价值并不是很大,所以决定整个项目框架更换为Asp.netMvc。
GitHub仓库创建
在GitHub上创建一个自己的仓库,选择好开发工具,添加.gitignore和readme文件。
gitignore文件和readme文件是很容易理解的。
- 有了gitignore文件之后,在提交的时候有很好的拦截作用,确保仓库的简洁。
- readme是md文件,即支持markdown语言,对项目说明有很好的展示效果。
项目创建完成之后,将项目克隆至本地路径中。
Asp.netMvc+Redis项目创建
-
起手式
目前阶段项目还不需要宇宙第一IDE VisualStudio(其实我是嫌VS太笨重了),所以VisualStudio Code在克隆好的路径中打开。
说到VS Code我还是挺感谢它的,之所以放弃使用已久的notepad ++是因为对微软的东西似乎有一种奇妙的感情。接触了VS Code后让我对所有的命令行工具有了很浓厚的兴趣,准备下一个阶段就学习一下Linux。
-
创建一个Asp.netCore Mvc项目
使用VS Code创建项目DotNet CLI是唯一选择。打开终端视图使用命令即可完成创建
dotnet new mvc
需要说明的一点是,创建完项目后可在项目文件中看到项目已经引用了Microsoft.AspNetCore.All包。这个包包含了AspNetCore开发的大部分程序集,不需要额外引用,所有程序集版本也是跟随Microsoft.AspNetCore.All的。
-
创建Redis工具
通过浏览Redis官网发现支持C#的客户端有很多的,大部分都已经支持DotNet Core了。我的选择是开源,没有次数限制的StackExchange.Redis。
如果项目不打算使用Microsoft.AspNetCore.All的话需要nuget官网中找到Redis客户端的引用命令,如果命令末尾不指定版本号的话默认为最新版本。
dotnet add package StackExchange.Redis
- 创建一个工具类文件夹Common用处存放所有Redis操作的类和其他具有共通意义的类文件。
- 创建一个类文件,可以使用DotNet Core命令dotnet new class也可以通过VS Code的图像化创建。创建文件之后要修改文件名和命名空间。
- 引入Redis的命名空间,完成Redis工具类代码编写。
using System;
using StackExchange.Redis;
using System.Collections.Generic;
namespace Blog.Common
{
public static class RedisCommon
{ private static ConnectionMultiplexer redis; public static ConnectionMultiplexer GetConnection()
{
if (redis == null)
{
//Redis的连接地址如果不是本机格式为ip:port
redis = ConnectionMultiplexer.Connect("localhost"); }
return redis;
} //扩展方法
public static Dictionary<string, string> ToDic(this HashEntry[] hash)
{
Dictionary<string, string> dic = new Dictionary<string, string>();
if (hash.Length == 0)
return dic;
foreach (var item in hash)
{
dic.Add(item.Name, item.Value);
}
return dic;
}
}
}目前这只是一个简单的工具类,只是对外提供了Redis的客户端对象,如果以后有什么需要附加的方法写到这里就行了。
另外在这里我利用C#语法糖给HashEntry数组写了一个扩展方法,写这个方法的初衷是在编码过程中总是有会遇到把HashEntry数组转换成Dictionary的过程,而每每到这个时候就会需要一个导入redis包的过程,而且这段代码也是冗余的。
至此Asp.netMvc + Redis 的所有准备工作已经完成,接下来准备开发符合书中内容的blog网站。