今天准备更新这个项目的第二篇博客。有一点需要说明的是之前觉得用的是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 (准备工作)的更多相关文章

  1. Asp.net MVC + Redis(hash入库+log4net集成)

    博客四元素 既然要写一个博客类的网站,那就应该知道博客的相关信息. 标题 作者 时间 内容 title author time content 因为之前有了解过Redis,所以有点纠结于数据的存储方式 ...

  2. Asp.net MVC + Redis(Linux安装Redis)

    最近有幸在工作中用到了redis,玩的还算开心.但是发现Redis在Windows上并不是满血状态的,所以决定安装一个Linux的虚拟机,让Redis在Linux上运行. 虚拟环境 虚拟机,我已经玩了 ...

  3. 实现Asp.net Mvc分布式Session Redis群集

    Redis群集实现Asp.net Mvc分布式Session Session的缺点 众所周知Asp.net Session默认存储在IIS中,IIS的重启会导致Session丢失. 如果你的网站使用了 ...

  4. 如何在C#Asp.Net MVC使用Redis缓存

    为什么要在Asp.Net MVC项目中使用Redis缓存呢?系统是按照高负载高并发来设计的,这就涉及服务器集群带来的问题,Session存储验证码或登录信息,在系统登录的时候,可能展示登录界面和存储验 ...

  5. 在ASP.NET MVC中使用Redis

    一.Redis基本认知 1.含义: REmote DIctionary Server(Redis) | 是一个key-value存储系统 2.特性: 2.1 持久化:可以将内存中的数据保存在磁盘中,重 ...

  6. 反爬虫:利用ASP.NET MVC的Filter和缓存(入坑出坑) C#中缓存的使用 C#操作redis WPF 控件库——可拖动选项卡的TabControl 【Bootstrap系列】详解Bootstrap-table AutoFac event 和delegate的分别 常见的异步方式async 和 await C# Task用法 c#源码的执行过程

    反爬虫:利用ASP.NET MVC的Filter和缓存(入坑出坑)   背景介绍: 为了平衡社区成员的贡献和索取,一起帮引入了帮帮币.当用户积分(帮帮点)达到一定数额之后,就会“掉落”一定数量的“帮帮 ...

  7. ASP.NET MVC 学习笔记-2.Razor语法 ASP.NET MVC 学习笔记-1.ASP.NET MVC 基础 反射的具体应用 策略模式的具体应用 责任链模式的具体应用 ServiceStack.Redis订阅发布服务的调用 C#读取XML文件的基类实现

    ASP.NET MVC 学习笔记-2.Razor语法   1.         表达式 表达式必须跟在“@”符号之后, 2.         代码块 代码块必须位于“@{}”中,并且每行代码必须以“: ...

  8. 使用Code First建模自引用关系笔记 asp.net core上使用redis探索(1) asp.net mvc控制器激活全分析 语言入门必学的基础知识你还记得么? 反射

    使用Code First建模自引用关系笔记   原文链接 一.Has方法: A.HasRequired(a => a.B); HasOptional:前者包含后者一个实例或者为null HasR ...

  9. ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第一篇:准备工作

    摘要      本文将简要介绍这个文章系列的目的.形式及大体内容.并且完成开始学习这个系列前所必要的准备工作. 前言      ASP.NET MVC作为微软官方的MVC解决方案,推出有一段时间了.可 ...

随机推荐

  1. 136. Single Number (Bit)

    Given an array of integers, every element appears twice except for one. Find that single one. Note:Y ...

  2. 什么场景应该用 MongoDB(转)

    很多人比较关心 MongoDB 的适用场景,也有用户在话题里分享了自己的业务场景,比如: 案例1 用在应用服务器的日志记录,查找起来比文本灵活,导出也很方便.也是给应用练手,从外围系统开始使用Mong ...

  3. SSH框架整合jar包时的注意事项

    SSH框架整合jar包时的注意事项: 在将三个框架所需的jar整合到一起后,要看一下有没有相同类型但是版本不同的jar包,如果有的话,需要把低版本的jar包删除掉,否则会报错.我这里整合的时候java ...

  4. 如何移除 input type="number" 时浏览器自带的上下箭头?

    Chrome 下 input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance: no ...

  5. PAT 1053 住房空置率 (20)(代码+思路)

    1053 住房空置率 (20)(20 分) 在不打扰居民的前提下,统计住房空置率的一种方法是根据每户用电量的连续变化规律进行判断.判断方法如下: 在观察期内,若存在超过一半的日子用电量低于某给定的阈值 ...

  6. iOS.Book.Effective Objective-C 2.0

    1. 中文翻译版 (更新中) https://github.com/HagerHu/effective-objective-c-2.0 2. Book的主页 和 代码主页 http://www.eff ...

  7. 201621123008 《Java程序设计》第四周学习总结

    1. 本周学习总结 1.1 写出你认为本周学习中比较重要的知识点关键词 关键字:继承,多态. 1.2 尝试使用思维导图将这些关键词组织起来.注:思维导图一般不需要出现过多的字. 2. 书面作业 1. ...

  8. 11月11日光棍节考试总结hhh

    好吧,第一题字符串裸栈就能A 第二题字典序没调完,先写的第一题和第三题暴力,第二题读题感觉自己不会写,其实也能写出来,浪费了好多时间 第三题DP大概是写的暴力,原本可以搞到20分,要交的时候发现自己少 ...

  9. UI设计行业中的“延禧攻略”,教你从青铜变王者

    最近一直在追<延禧攻略>,女主魏璎珞敢爱敢恨,有仇必报的性格吸引不少人,她从低贱的秀坊小宫女步步为营,最终成为皇帝最宠爱的令妃呼风唤雨.尔虞我诈的后宫,想要打怪升级光有颜值是万万不够的,更 ...

  10. hg 添加用户

    .hg目录下hgrc文件 [ui] username = lyd