原创 使用控制檯作爲ASP.NET webapi的宿主

一、前言 一般情況下,我們在使用ASP.NET WebApi的時候習慣創建一個Web應用程序,最終將程序部署到IIS進行運行。但有時候,我們需要在控制檯或者Windows服務中運行webapi程序,這時就不適合使用IIS。這時就可以使用自託

原创 在控制檯程序中使用IHttpClientFactory

一、前言 一般來說我們發送Web請求的時候,都是通過HttpClient。但是使用的時候會有兩個問題: 因爲HttpClient實現了IDisposable接口,每次使用如果都new一個對象的話,最後會耗盡你的主機端口。微軟建議使用單例模

原创 C#:解決JSON序列化時時間格式帶“T”的問題

今天在開發工程中,遇到了一個問題:實體類裏面有屬性類型是DateTime,序列化以後會帶有大寫的“T”,爲什麼時間格式中間會帶有一個大寫的T呢? 通過查詢,發現這是標準格式規定的:國際標準化組織的國際標準ISO 8601是日期和時間的表示方

原创 .Net Core:解決WebAPI中返回時間格式帶T的問題

在項目開發中遇到了返回的時間格式帶T的問題,如圖所示: 直接把這種結果返回給前端,前端很難處理這個時間格式問題,所以就需要後端在返回數據的時候對這種格式進行處理。 新建Order類: using System; namespace W

原创 C#複製和移動文件夾

使用WPF做的一個簡單的操作文件的demo,包括複製和移動文件夾,核心思想就是使用遞歸,如果只是移動或者複製單一文件,直接使用File.Copy()或者File.Move()方法即可。 1、XAML代碼 <Window x:Class="

原创 ASP.NET Core:使用Docker部署應用程序

一、前言 本篇文章講解如何在Linux上使用Docker來部署ASP.NET Core應用程序。 二、 1、創建應用程序 使用ASP.NET Core創建一個MVC應用程序,並修改Home控制器Index視圖代碼: @{ View

原创 ASP.NET Core:ASP.NET Core中使用NLog記錄日誌

一、前言 在所有的應用程序中,日誌功能是不可或缺的模塊,我們可以根據日誌信息進行調試、查看產生的錯誤信息,在ASP.NET Core中我們可以使用log4net或者NLog日誌組件來實現記錄日誌的功能,這裏講解如何在ASP.NET Core

原创 Docker:docker鏡像與容器的導入和導出

一、前言 隨着容器技術的發展,現在很多的應用程序系統都會選擇使用docker容器進行部署,但是有時候使用docker容器進行部署的時候會遇到問題,比如說我們的應用程序裏面需要依賴其他第三方的鏡像,如果這時候服務器是在內網不能連接外網的情況下

原创 PostgreSQL:在Linux系統上面安裝PostgreSQL數據庫

一、準備工作 這裏使用的Linux操作系統是Centos7,選擇在虛擬機上面裝Centos7系統,然後在虛擬機上面安裝PostgreSQL。 二、安裝PostgreSQL 2.1、選擇版本 進入PostgreSQL官網下載界面,找到Cent

原创 .NET Core:在ASP.NET Core WebApi中使用Cookie

一、Cookie的作用 Cookie通常用來存儲有關用戶信息的一條數據,可以用來標識登錄用戶,Cookie存儲在客戶端的瀏覽器上。在大多數瀏覽器中,每個Cookie都存儲爲一個小文件。Cookie表示爲鍵/值對的形式,可以利用鍵來讀取、寫入

原创 .NET Core:處理全局異常

一、前言 在程序設計中,我們會遇到各種各樣的異常問題,一個好的異常處理解決方案能夠幫助開發者快速的定位問題,也能夠給用戶更好的用戶體驗。那麼我們在AspNetCore中該如何捕獲和處理異常呢?我們以一個WebApi項目爲例,講解如何捕獲和處

原创 消息隊列(一):消息隊列應用場景

一、什麼是隊列 隊列(Queue)是一種常見的數據結構,其最大的特點就是先進先出(First In First Out),作爲最基礎的數據結構,隊列應用很廣泛。比如火車站排隊買票等等。可以用下圖表示隊列: 其中a1、a2、an表示隊列中的

原创 .NET Core 新特性:發佈單文件可執行程序

一、前言 .NET Core 3.0中新增加了一個特性:Publishing Single EXEs,可以通過dotnet publish 命令將整個.net core應用發佈爲一個可執行文件。 二、準備工作 使用VS 2019新創建一個M

原创 DotNetCore深入瞭解:HTTPClientFactory類

一、HttpClient使用 在C#中,如果我們需要向某特定的URL地址發送Http請求的時候,通常會用到HttpClient類。會將HttpClient包裹在using內部進行聲明和初始化,如下面的代碼: using (var http

原创 .NET字符串駐留池

在.NET中,對於相同的字符串,.NET會將它們指向同一個地址,它們是相同的實例。.NET中的字符串並不會更新,當更改一個字符串變量時,由於字符串的不可變性,.NET實際上是新創建一個字符串,而將變量地址指向新創建的字符串地址。 看下面的一