ASP.NET MVC+Redis (準備工作)

今天準備更新這個項目的第二篇博客。有一點需要說明的是之前覺得用的是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網站。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章