使用.Net Core 2.1開發Captcha圖片驗證碼服務


更新后續篇:Captcha服務(后續1)

使用.Net Core 2.1開發Captcha驗證碼服務

開發工具:Visual Studio 2017 15.7.3
開發平台:64位 Windows 10
目標框架:.NET Core 2.1
完成度:已實現
Github地址:https://github.com/PuzzledAlien/Captcha

准備開發環境,新建項目

安裝SDK
打開下載頁面 https://www.microsoft.com/net/download/windows
下載對應的SDK,當前版本是2.1 SDK (v2.1.300)
從名字能看出來微軟更快迭代更新的想法。下載之后正確安裝。這樣保證新建項目時可選ASP.NET Core Web應用程序。


使用API模塊足以。默認是配置HTTPS,先保持默認不變,看下https怎么配置。點擊確定,稍等幾秒鍾創建項目完成。

查看解決方案資源管理器,發現目錄結構異常簡潔。先不做任何處理,直接Debug,彈出提示(此項目已配置使用SSL)如下圖。

上述截圖中sslPort是44303,取消配置HTTPS的方法是將sslPort的值改為0。修改之后就不會走https了,簡單明了的邏輯,就問你服不服?!

設計接口

計划兩個接口,一個是獲取驗證碼的接口,一個是驗證接口。
圖片驗證碼首先是個圖片(純廢話),少不了使用一個很流行的繪圖API System.Drawing。但是.NET Core平台用不了System.Drawing。代替方案有

  1. zkweb大牛移植修改mono的System.Drawing。來自博客園的文章推薦.Net Core上用於代替System.Drawing的類庫
  2. 微軟官方出的API實現 System.Drawing.Common。來自Damir Dobric的文章推薦How to use System.Drawing in .NET Core?

我選擇了微軟官方的實現System.Drawing.Common,更新迭代有保障。github可看源碼,地址https://github.com/dotnet/corefx/tree/5b7674e4ae5cc782e99f50b2919dfdeb29106a46/src/System.Drawing.Common

不具體寫代碼邏輯,可詳細看Github,自認寫的還算結構清晰明了。

部署Windows,IIS+.NET Core 2.1

參考微軟官方出版中文文檔,微軟對中文開發者的友好度越來越高了。
使用 IIS 在 Windows 上托管 ASP.NET Core
環境准備:安裝.NET Core 2.1 SDK
根據文章IIS 模塊與 ASP.NET Core 提到的最小模塊配置

要求運行 ASP.NET Core 應用的模塊只有匿名身份驗證模塊和 ASP.NET Core 模塊。

源代碼可查看Github https://github.com/aspnet/AspNetCoreModule
打開IIS管理器,點擊“模塊”,之后點擊“打開功能”,查看所有模塊,發現缺少ASP.NET Core 模塊。


使用 IIS 在 Windows 上托管 ASP.NET Core 提到如何安裝該模塊。
打開下載頁

點擊Runtime,.NET Core 2.1 Runtime (v2.1.0)

下載安裝。
准備工作搞定。
使用 IIS 在 Windows 上托管 ASP.NET Core 的步驟精簡寫,如下:

  1. 發布到目標機器
  2. 如果沒有安裝IIS,安裝IIS
  3. 新建站點
  4. 站點對應的應用程序池基本設置中選擇“無托管代碼”
  5. 嘗試訪問

測試頁面如下圖,嘗試訪問:

完工!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM