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

更新後續篇:Captcha服務(後續1)html

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

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

準備開發環境,新建項目

安裝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了,簡單明瞭的邏輯,就問你服不服?!github

設計接口

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

  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.Commonwindows

不具體寫代碼邏輯,可詳細看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 的步驟精簡寫,以下:.net

  1. 發佈到目標機器
  2. 若是沒有安裝IIS,安裝IIS
  3. 新建站點
  4. 站點對應的應用程序池基本設置中選擇「無託管代碼」
  5. 嘗試訪問

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

完工!!

相關文章
相關標籤/搜索