前言:本系列文章適合有初/中級.NET知識的同學閱讀(請在電腦上打開頁面,獲取更好的閱讀效果)。
(1)本系列文章,旨在講述研發一個中大型項目所需要了解的一系列“基本構件”,並提供這些“基本構件”在全網的【最簡單】、【最快速】使用方法!!(並不深究技術原理)
(2)通過閱讀本系列文章,能讓你在正規“項目研發”方面快速入門+進階,並能達成“小團隊構建大網站”的目的。
(3)本系列文章采用的技術,已成功應用到人工智能、產業互聯網、社區電商、游戲、金融風控、智慧醫療、等項目上。
在DeveloperSharp框架中,存在兩個非常強大的工具接口,一個是IUtility工具接口(提供一系列有用的功能),一個是IDataAccess工具接口(提供數據訪問功能)。
本文將具體介紹IUtility。
IUtility所在的命名空間是:DeveloperSharp.Framework.CoreUtility(需從NuGet引用DeveloperSharp包)
它主要提供了如下一系列功能:
application/session/cookie變量設置、路徑轉換、編碼/解碼、圖片切割、圖片縮略、圖片加文字水印、圖片加圖像水印、json序列化、Web服務的遠程調用、http調用(get/post)、生成UUID、等。
它初始化的代碼如下:
using DeveloperSharp.Framework.CoreUtility; -------------------------- IUtility IU = new Utility();
IUtility內擁有的詳細功能方法說明如下:
SetApplicationVar
聲明:void SetApplicationVar(string Name, object Value);
用途:設置Application變量
參數:(1) string Name -- 變量名
(2) object Value -- 變量值
返回:(無)
SetSessionVar
聲明:void SetSessionVar(string Name, object Value)
用途:設置Session變量
參數:(1)string Name -- 變量名
(2) object Value -- 變量值
返回:(無)
SetCookieVar
聲明:void SetCookieVar(System.Web.HttpCookie HC)
用途:設置Cookie變量
參數:(1)System.Web.HttpCookie HC -- Cookie變量
返回:(無)
GetApplicationVar
聲明:object GetApplicationVar(string Name)
用途:獲取Application變量
參數:(1)string Name -- 變量名
返回:object -- 變量值
GetSessionVar
聲明:object GetSessionVar(string Name)
用途:獲取Session變量
參數:(1)string Name -- 變量名
返回:object -- Session變量值
GetCookieVar
聲明:System.Web.HttpCookie GetCookieVar(string Name)
用途:獲取Cookie變量
參數:(1)string Name -- 變量名
返回:String -- Cookie變量
Request
聲明:string Request(string Name)
用途:獲取傳送變量的值
參數:(1)string Name -- 變量名
返回:String -- 變量值
RequestServerVariables
聲明:string RequestServerVariables(string ServerVarName)
用途:獲取服務器變量的值
參數:(1)string ServerVarName -- 服務器變量名
返回:String -- 服務器變量的值
RequestPhysicalPath
聲明:string RequestPhysicalPath(string Path)
用途:獲取物理路徑
參數:string Path -- 虛擬路徑或者相對路徑
返回:String -- 物理路徑
RedirectToURL
聲明:void RedirectToURL(string Url)
用途:重新定向URL地址
參數:(1)string Url -- 要轉向的URL地址
返回:(無)
DecodeHtml
聲明:string DecodeHtml(string Content)
用途:Html解碼
參數:(1)string Content -- 需要解碼的字符串
返回:String -- 解碼后的字符串
DecodeUrl
聲明:string DecodeUrl(string Content)
用途:Url解碼
參數:(1)string Content -- 需要解碼的Url字符串
返回:String -- 解碼后的Url字符串
EncodeHtml
聲明:string EncodeHtml(string Content)
用途:Html編碼
參數:(1)string Content -- 需要編碼的字符串
返回:String -- 編碼后的字符串
EncodeUrl
聲明:string EncodeUrl(string Content)
用途:Url編碼
參數:(1)string Content -- 需要編碼的Url字符串
返回:String -- 編碼后的Url字符串
PictureCut(可參考“圖片的裁剪、縮放、與加水印”這篇文章)
聲明:void PictureCut(string SourceFile, int CutStartPointX, int CutStartPointY, int CutWidth, int CutHeight, string TargetFile)
用途:圖片裁剪
參數:(1)string SourceFile -- 原始圖片文件路徑
(2)int CutStartPointX --起始裁剪點X坐標
(3)int CutStartPointY --起始裁剪點Y坐標
(4)int CutWidth --裁剪寬度
(5)int CutHeight --裁剪高度
(6)string TargetFile --新生成的目標圖片文件路徑
返回:(無)
PictureThumbnail(可參考“圖片的裁剪、縮放、與加水印”這篇文章)
聲明:void PictureThumbnail(string SourceFile, int FrameWidth, int FrameHeight, string TargetFile)
用途:圖片縮略
參數:(1)string SourceFile -- 原始圖片文件路徑
(2)int FrameWidth --縮略框的寬度
(3)int FrameHeight --縮略框的高度
(4)string TargetFile --新生成的目標圖片文件路徑
返回:(無)
PictureImageWatermark(可參考“圖片的裁剪、縮放、與加水印”這篇文章)
聲明:void PictureImageWatermark(string SourceFile, string WatermarkFile, string TargetFile)
用途:圖片加“圖像”水印
參數:(1)string SourceFile -- 原始圖片文件路徑
(2)string WatermarkFile --水印圖像文件路徑
(3)string TargetFile --新生成的目標圖片文件路徑
返回:(無)
PictureImageWatermark(可參考“圖片的裁剪、縮放、與加水印”這篇文章)
聲明:void PictureImageWatermark(string SourceFile, string WatermarkFile, int x, int y, string TargetFile)
用途:圖片加“圖像”水印
參數:(1)string SourceFile -- 原始圖片文件路徑
(2)string WatermarkFile --水印圖像文件路徑
(3)int x --水印圖像的起始X坐標
(4)int x --水印圖像的起始Y坐標
(5)string TargetFile --新生成的目標圖片文件路徑
返回:(無)
PictureTextWatermark(可參考“圖片的裁剪、縮放、與加水印”這篇文章)
聲明:void PictureTextWatermark(string SourceFile, string WaterText, string TargetFile)
用途:圖片加“文字”水印
參數:(1)string SourceFile -- 要加水印的圖片物理路徑
(2)string WaterText --文字內容
(3)string TargetFile --文字字體
返回:(無)
PictureTextWatermark(可參考“圖片的裁剪、縮放、與加水印”這篇文章)
聲明:void PictureTextWatermark(string SourceFile, string WaterText, System.Drawing.Font WaterTextFont, System.Drawing.Brush WaterTextBrush, int x, int y, string TargetFile)
用途:圖片加“文字”水印
參數:(1)string SourceFile -- 原始圖片文件路徑
(2)string WaterText --水印文字
(3)System.Drawing.Font WaterTextFont --水印文字字體
(4)System.Drawing.Brush WaterTextBrush --水印文字筆觸
(5)int x --水印圖像的起始X坐標
(6)int y --水印圖像的起始Y坐標
(7)string TargetFile --新生成的目標圖片文件路徑
返回:(無)
PagePartition(可參考“高效分頁”這篇文章)
聲明:PagePiece PagePartition(DataTable Table, int PageSize, int PageIndex)
用途:分頁功能
參數:(1)DataTable Table -- 需要分頁的DataTable
(2)int PageSize -- 頁面大小
(3)int PageIndex -- 當前頁碼(最小值為1)
返回:PagePiece -- 頁片實體
JsonSerialize
聲明:string JsonSerialize(object Obj)
用途:對象轉化為JSON
參數:(1)object Obj -- 被轉化的對象
返回:string -- JSON字符串
JsonDeserialize
聲明:T JsonDeserialize<T>(string jsonText)
用途:JSON轉化為對象
參數:(1)string jsonText -- JSON字符串
返回:T -- 對象
GetService(可參考“Web服務的負載均衡”這篇文章)
聲明:T GetService<T>()
用途:獲取遠程/本地服務
參數:(無)
返回:T -- 服務實例
GetService
聲明:T GetService<T>(string svcBindType, string svcURL)
用途:獲取WCF遠程服務
參數:(1)string svcBindType -- 服務調用類型
(2)string svcURL -- 服務地址
返回:T -- 服務實例
HttpGet(可參考“http請求調用”這篇文章)
聲明:string HttpGet(string Url)
用途:調用Http-Get請求
參數:(1)string Url -- 調用請求的url地址
返回:String -- 請求結果
HttpPost(可參考“http請求調用”這篇文章)
聲明:string HttpPost(string Url, string ParamData = "", Dictionary<string, string> HeaderDic = null, string ContentType = "application/x-www-form-urlencoded");
用途:調用Http-Post請求
參數:(1)string Url -- 調用請求的url地址
(2)string ParamData -- 提交的參數
(3)Dictionary<string, string> HeaderDic -- 存放http頭的鍵值對
(4)string ContentType -- 請求的編碼格式,通常有application/x-www-form-urlencoded(默認設置)、multipart/form-data、application/json三種形式
返回:String -- 請求結果(-107開頭表示出錯)
GenerateId(可參考“分布式唯一Id”這篇文章)
聲明:string GenerateId(string Prefix)
用途:生成主鍵Id (此處生成的是一種分布式唯一Id)
參數:(1)string Prefix -- 前綴詞
返回:String -- 主鍵Id
【附注】:下載示例均已成功運行通過。但有些輔助設置需要自己調整。技術支持+獲取更多寶貴資源:請微信掃描文末二維碼,備注“進群”!
推薦閱讀
- .NET中大型項目開發必備(1)–UUID全球通用唯一識別碼
- .NET中大型項目開發必備(2)–CORS跨域訪問
- .NET中大型項目開發必備(3)–數據庫的負載均衡
- .NET中大型項目開發必備(4)–數據庫的讀寫分離
- .NET中大型項目開發必備(5)–Web服務/WebApi的負載均衡
- .NET中大型項目開發必備(6)–IUtility工具介紹
- .NET中大型項目開發必備(7)–DataAccess數據庫訪問技術
- .NET中大型項目開發必備(8)–高效分頁
- .NET中大型項目開發必備(9)--http請求調用(Post與Get)
- .NET中大型項目開發必備(10)--圖片的裁剪、縮放、與加水印
- .NET中大型項目開發必備(11)--使用Redis緩存
- .NET中大型項目開發必備(12)--使用MQ消息隊列
- .NET中大型項目開發必備(13)--DataAccess數據庫訪問技術(續)
- .NET中大型項目開發必備(14)--數據庫的負載均衡(續)
