iT邦幫忙

DAY 21
5

使用Asp.Net MVC打造Web Api系列 第 21

使用Asp.Net MVC打造Web Api (21) - 發行網站到Azure

  • 分享至 

  • xImage
  •  

在以往,我們要發行網站上線時,還需要自己安裝電腦,準備好各種前置作業,才能讓自己的網站曝光到網路上。而在\雲端服務越來越流行的現在,我們甚至連機器都不需要,只要註冊好雲端服務,所有的資料庫、機器等設定都可以透過Browser解決,甚至連擴充網站的實體都只要調整一條Scroll Bar就可以完成,這些都是以前非常難以想像的,我今天就要向大家介紹如何將網站發行Azure。
※建立Cloud Service
首先必須在Azure開啟帳號,並設定相關資料,這邊就直接略過進入到主題,我們先建立一個雲端服務,我們將網站佈署到雲端服務上面

  1. 建立一個新的雲端服務
  2. 輸入雲端服務相關資訊
  3. 建立完成

※建立SQL資料庫
再來我們要建立資料庫以供網站和Exception記錄使用

  1. 建立一個新的SQL資料庫
  2. 輸入必要的資訊
  3. 建立SQL帳號
  4. 建立完成後,找到建立的伺服器,再建立一個資料庫給Exception使用
  5. 都建立完成後,我們可以看到有兩個資料庫
  6. 為了方便直接操作資料庫,我們要將本地的IP加入防火牆的允取清單中
  7. 確認允許
  8. 我們就可以使用SSMS連接到資料庫了!

※建立ExceptionDB的資料庫
原本我們用來建立ExceptionDB的Script沒辦法直接使用在Azure的SQL之中,但在網路上已經有人提供了解決方法,大家可以參考這一篇文章取得SQL

ASP.NET MVC 與 Elmah.MVC 2.1.1 以及使用 Windows Azure SQL Database 的Schema 修改

建立完成後,應該可以看到Table和StoredProcedure如下

因為我們使用EntityFramework Code First來發開網站,因此在這個範例中我們不需要建立ShopContextDB的Table,而是讓網站在執行時期透過Entity Framework自動建立,不過在正式的專案中還是建議自己來管理資料庫的結構

※修改網站Release的設定檔
Visual Studio內建了相當強大的設定轉換功能,我們可以發現Web.config檔除了本身之外,其實還包含了Web.Debug.config和Web.Release.config,這是Visual Studio可以在建置時,會依據建置不同的版本將config檔修正為該版本所需要的設定,例如最常見的就是修改Debug和Release時的資料庫連線資訊,我們也將帶著大家來做一遍

  1. 打開Web.Release.config加入以下資訊

        <connectionStrings>
            <add name="ApiSample.DA.Tables.ShopContext" providerName="System.Data.SqlClient" connectionString="Server=tcp:yourserver.database.windows.net,1433;Database=ShopContextDB;User ID=youraccount;Password=yourpassword;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
            <add name="ExceptionDB" providerName="System.Data.SqlClient" connectionString="Server=tcp:yourserver.database.windows.net,1433;Database=ExceptionDB;User ID=youraccount;Password=yourpassword;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
        </connectionStrings>
    
  2. 比較特別的是在XML的最後面多出了

        xdt:Transform="SetAttributes" xdt:Locator="Match(name)"
    

這是代表在Release時將會根據name來尋找同樣的設定,並替換為新的值

建立雲端專案

首先必須先安裝.Net Framework Azure SDK,可以在這邊取得

  1. 在網站上加入雲端服務專案
  2. 選擇發行網站
  3. 選擇登入下載認證
  4. 登入之後,下載認證檔
  5. 匯入認證檔
  6. 建立儲存體服務
  7. 確認發行資訊
  8. 明細確認,按下發行
  9. 稍後片刻,等待發行網站,約需15分鐘

註: 在之前的文章中,我們有限制elmah的存取網站,在這邊記得加入你本地的IP,當然更好的做法是直接使用權限系統來管理存取權限!

  1. 部署完畢之後,可以進入網站

註: 若要正確讓網站運行,記得要先將資料庫輸入一些測試資料(例如:使用者、商品資料等等)

※本日小結
透過Azure,原本我們需要花費需多時間來建立伺服器環境,包含網站的站台或是資料庫等等,現在只需要在網路上根據自己的使用量設定好,馬上就有現成的環境可以發行或測試網站,真的是非常的方便,關於更多Azure的使用技巧和細節,也可以參閱官方豐富的文件,關於今天的內容歡迎大家一起討論^_^


上一篇
使用Asp.Net MVC打造Web Api (20) - 整合AOP功能
下一篇
使用Asp.Net MVC打造Web Api (22) - 使用TFS進行每日自動建置
系列文
使用Asp.Net MVC打造Web Api30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0

我要留言

立即登入留言