ASP.NET Core 2.2 Web Api項目使用本地數據庫,發布到本地IIS詳細流程


1. 項目創建

1.1 安裝

  下載.NETCORE SDK 進行安裝

  下載NETCORE RUNTIME進行安裝.

  下載Runtime & Hosting Bundle進行安裝

  下載地址:https://dotnet.microsoft.com/download/dotnet-core

  微軟的安裝在windows方面很簡單,基本就是一鍵安裝.

1.2 開發工具

            VisualStudio 2019

1.3建立項目工程

  點擊文件創建項目,出現如下圖示

  

  選擇畫紅圈部分,接着出現如下圖示

 

   

  選擇API,身份驗證為不進行身份驗證。點擊確定后,自動生成相應的模板項目。

            文件格式如下

 

    Connected Services:連接的服務。

            Properties:進行一些屬性設置。

            wwwroot:靜態文件存放位置。

            依賴項:也就是需要添加的程序集。

            Controller:控制器文件夾,用來進行業務編寫的代碼,我們基本上需要在這個文件中進行數據的傳出與接收。相應的,我們還可以進行各個文件創建,進行層次區分,也可以建立單獨的類項目,進行層次區分,如控制層,服務業務層,數據連接層,模型實體層。

             appsettings:配置文件,此處可以編寫一些常量設置,然后在程序中進行讀取。

             Program:項目啟動文件。

             Startup:項目配置設置文件。

 

2. 數據庫連接

2.1. MySQL數據庫連接

  首先,我們利用nuget進行連接MySQL程序集的下載安裝,如果是無網環境,可以參考我的另一篇文章(關於離線使用nuget進行程序集安裝),如下圖:

接着我們創建一個數據表結構,例如下圖所示(此處為簡單例子):

          

         

            C#中創建對應的實體類,另外創建一個類繼承dbContext,dbContext是EF框架中非常重要的一個環節,是建立實體類與數據庫連接的橋梁,具體的原理,這里不進行贅述。

            具體創建的樣式如下圖所示:

           

這樣我們就可以進行數據庫的操作了,測試一下:

            表明我們的數據庫已經連接成功,可以成功輸出對應數據進行相關的顯示了。

            針對上述的連接屬性的情況來看,我們不應該把連接的屬性編寫在代碼中,因此我們要設計一下,把連接的屬性編寫在配置文件中,對appsettings.json, Startup.cs, CoreDbContext.cs進行相關的配置,如圖:

            

           

           

            圖中標記為紅色的部分就是我們需要進行修改或添加的部分,這時其實是已經把coreDbContext注入到容器中進行操作,而容器中對Context的注入方式為瞬時注入,因此后面要用到依賴注入的時候,很多時候,在數據層使用context的時候需要把對應的注入都設計為瞬時注入的形式,此處就不進行過多的提及。

            我們在進行測試一下,這下我們就不用自己進行context的new操作,由於我們一開始進行設置的時候就已經進行了依賴注入的形式,不過,.netCore中只有構造注入,沒有屬性注入,因此我們就用構造注入的方式進行,如下圖所示:

            此時證明我們用這樣的方法也可以進行數據的操作。

2.2 SQL server數據庫連接操作

            具體的連接方式與上面的基本一致,不過,連接sqlServer的屬性設置為:

 

2.3 數據庫Database First與Code First操作

            Code First:通過EF 遷移來完成從模型生成數據庫。因此數據庫可以不進行相關表的設計,在C#中直接進行上面所做的出數據庫建表外的操作。 

            下載安裝Microsoft.EntityFrameworkCore.Tools

            打開VS 2017 菜單 工具->nugget包管理器 -> 程序包管理控制台。

            輸入Add-Migration MyFirstMigration,接着輸入Update-Database執行,出現Done.表示成功創建數據庫。

            Database First:通過現有的數據庫生成模型(此處以SQLServer為主,目前MySQL沒有找到對應的程序集進行此操作)。

            安裝Microsoft.EntityFrameworkCore.SqlServer

            安裝Microsoft.EntityFrameworkCore.Tools

            安裝Microsoft.EntityFrameworkCore.SqlServer.Design

            執行如下命令:

            Scaffold-DbContext “Server=;Database=DatabaseName;UID =;PWD=” Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

            這樣就輸出到了Models文件夾

 

  修改數據庫IP訪問

  

  安全性 -> 登錄名 -> NT AUTHORITY\SYSTEM -> 服務器角色 ,勾選sysadmin,點擊確認.

 

3. 發布應用

3.1 點擊WebApi項目右鍵 -> 發布,選擇IIS為發布目標

 

3.2  項目屬性內的生成切換為Release,

 

3.2 連接選項卡,選擇文件系統,輸入路徑,點擊下一步

 

 

 3.4  設置選項卡,配置選擇Release,目標框架netcoreapp2.2,文件發布選項勾上,數據庫也勾選上輸入連接字符串,遷移也需要勾選上輸入連接字符串

  

 

 

4. 部署應用

4.1 啟用IIS

  在控制面板中找到啟用或關閉Windows功能,打開IIS相關功能.

  

 

4.2 添加網站

  打開IIS服務器,右鍵添加網站,物理路徑選擇發布的路徑,點擊連接為,選擇用戶,然后測試設置,修改端口號,點確定

  

 

4.3 修改應用程序池,將.NET CLR版本修改為 無托管代碼,點擊確定.

  

 

4.4  重啟網站,在瀏覽器上瀏覽端口號,即可.

  

 


免責聲明!

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



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