前言:本系列文章適合有初/中級.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)--數據庫的負載均衡(續)