今天准备更新这个项目的第二篇博客。有一点需要说明的是之前觉得用的是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. TZOJ 3533 黑白图像(广搜)

    描述 输入一个n*n的黑白图像(1表示黑色,0表示白色),任务是统计其中八连块的个数.如果两个黑格子有公共边或者公共顶点,就说它们属于同一个八连块.如图所示的图形有3个八连块. 输入 第1行输入一个正 ...

  2. Visual Event查看页面相关绑定事件

    页面相关绑定的事件比较复杂,在不熟悉的情况下很难找到相关逻辑的位置,所以希望借助工具来帮自己理清相关事件的脉络走向. 浏览器 工具 chrome( 58.0.3029.110) Visual Even ...

  3. MVC扩展HtmlHelper,加入RadioButtonList、CheckBoxList、DropdownList

    代码: using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions ...

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

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

  5. c++ 中的符号与关键字

    符号按照符号的ASC码数值从小到达排列,关键字按照英文字母排序. & [38] 位运算:取地址:左值引用[指针.引用都是可以做类型转换的] #include <iostream> ...

  6. ubuntu16.04 LTS Server 安装mysql phpmyadmin apache2 php5.6环境

    1.安装apache sudo apt-get install apache2 为了测试apache2是否正常,访问http://localhost/或http://127.0.0.1/,出现It W ...

  7. c++编程思想里面的错误(可能c++标准变了,所以以前的东西没有更新)

    第一卷  第五章 5.3友元 下面的代码是<c++编程思想>里面的代码, struct X; struct Y{ void f(X*); }; struct X{ private: int ...

  8. 2018.08.04 bzoj3261: 最大异或和(trie)

    传送门 简单可持久化01trie树. 实际上这东西跟可持久化线段树貌似是一个东西啊. 要维护题目给出的信息,就需要维护前缀异或和并且把它们插入一棵01trie树,然后利用贪心的思想在上面递归就行了,因 ...

  9. SPSS—回归—二元Logistic回归案例分析

    数据分析真不是一门省油的灯,搞的人晕头转向,而且涉及到很多复杂的计算,还是书读少了,小学毕业的我,真是死了不少脑细胞, 学习二元Logistic回归有一段时间了,今天跟大家分享一下学习心得,希望多指教 ...

  10. struts2和JSON的数据交互

    一.实验环境 1.struts2基本包 2.json-plugin 在struts2的lib下可以找到. 3.web.xml 加入struts2 <filter> <filter-n ...