美文网首页dotNETAsp.net core mvc
Asp.net mvc + Redis(准备工作)

Asp.net mvc + Redis(准备工作)

作者: 有情怀的小猿 | 来源:发表于2018-05-08 10:00 被阅读44次

    今天准备更新这个项目的第二篇博客。有一点需要说明的是之前觉得用的是Asp.net的WebPage,经过查看微软的官方文档还有相关的博客,相比较而言使用起来需要安装一个自动工具WebMatrix可以很快的搭建页面,除此之外我认为使用和学习价值并不是很大,所以决定整个项目框架更换为Asp.netMvc。

    GitHub仓库创建

    GitHub上创建一个自己的仓库,选择好开发工具,添加.gitignore和readme文件。

    gitignore文件和readme文件是很容易理解的。

    • 有了gitignore文件之后,在提交的时候有很好的拦截作用,确保仓库的简洁。
    • readme是md文件,即支持markdown语言,对项目说明有很好的展示效果。

    项目创建完成之后,将项目克隆至本地路径中。

    Asp.netMvc+Redis项目创建

    1. 起手式

      目前阶段项目还不需要宇宙第一IDE VisualStudio(其实我是嫌VS太笨重了),所以VisualStudio Code在克隆好的路径中打开。

      说到VS Code我还是挺感谢它的,之所以放弃使用已久的notepad ++是因为对微软的东西似乎有一种奇妙的感情。接触了VS Code后让我对所有的命令行工具有了很浓厚的兴趣,准备下一个阶段就学习一下Linux。

    2. 创建一个Asp.netCore Mvc项目

      使用VS Code创建项目DotNet CLI是唯一选择。打开终端视图使用命令即可完成创建

      dotnet new mvc
      

      需要说明的一点是,创建完项目后可在项目文件中看到项目已经引用了Microsoft.AspNetCore.All包。这个包包含了AspNetCore开发的大部分程序集,不需要额外引用,所有程序集版本也是跟随Microsoft.AspNetCore.All的。

    3. 创建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包的过程,而且这段代码也是冗余的。

    4. 至此Asp.netMvc + Redis 的所有准备工作已经完成,接下来准备开发符合书中内容的blog网站。

    相关文章

      网友评论

        本文标题:Asp.net mvc + Redis(准备工作)

        本文链接:https://www.haomeiwen.com/subject/mddirftx.html