Windows Azure Cloud Service (7) Windows Azure項目文件詳解


Windows Azure Platform 系列文章目錄

 

本章是對Windows Azure Platform (十三)開發一個簡單的Hello World 的補充和說明,讓大家對於Visual Studio 2010 Cloud Application有一個更加具體和全面的了解。

1.Emulator

Windows Azure允許您在Windows Azure Emulator(模擬器)來模擬程序在本地運行,這樣您不必實際部署應用程序到微軟的數據中心就可以對其進行測試。

Emulator分成兩種:Compute Emulator(計算模擬器)和Storage Emulator(存儲模擬器)。

計算模擬就是在本機模擬多個計算節點(Instance Count)在運行某一個Web站點的執行情況。計算節點越多在本地執行所占用的內存就越高,也就越消耗本地的資源;最后部署在微軟的雲計算數據中心執行的速度就越快,當然費用也就越高。

我們知道,Windows Azure對非關系型數據的訪問分為三種:分別是Blob, Table和Queue(Windows Azure里不存在對於本地盤符的訪問,如訪問Azure計算節點的C盤D盤等,這個概念一定要清楚)。存儲模擬也能模擬在本機對於這三種非關系型數據的訪問。

在啟動Azure Project后,我們可以通過Show Compute Emulator UI和Show Storage Emulator UI來查看模擬器的輸出內容,如下圖

 

2.SQL Server Express

首先大家必須了解,Windows Azure Emulator是基於SQL Server Express的,也就是說您必須安裝SQL Server Express才能進行Azure項目的開發。如果在開發過程中關閉了SQL Server Express服務,則本地的Windows Azure Emulator則無法正常啟動和執行。

 

3.讓我們在Visual Studio 2010里打開一個Windows Azure Project

讓我們從下往下看仔細看這個工程。

最上面HelloWindowsAzure的project表示這是一個Windows Azure的項目,他有2個角色(Roles文件夾),一個是WebRole(ASP.NET Web工程,名字叫做MyWebRole)和WorkerRole。

ServiceConfiguration.Cloud.cscfg 是一個雲端的配置文件。

概念上類似於我們WebApplication里的Web.config工程文件。其中Cloud表示如果我部署到了雲端服務器之后讀的是這個配置文件。

ServiceConfiguration.Local.cscfg 這是一個本地調試的配置文件。

其中Local表示如果我在本地使用debug調試,讀取的是這個配置文件。

這樣區分配置文件的好處是方便我們在本機調試和部署到雲端能夠使用不同的配置文件來進行開發和部署。

 

4.我們展開HelloWindowsAzure工程-->Roles-->MyWebRole-->右鍵-->屬性

會彈出一個新的窗口

Configuration標簽頁

Service Configuration能讓我們在ServiceConfiguration.Cloud.cscfg和ServiceConfiguration.Local.cscfg之間切換

 

.NET trust level:

用來配置運行在Windows Azure平台應用程序鎖使用的信任級別。默認選擇為Full trust,即完全信任模式;也可以選擇部分信任的模式(windows Azure partial trust)。一般情況下都會選擇完全信任模式,即允許應用程序訪問Native COde。而在部分信任模式下,Windows Azure Role只能夠訪問到很有限的系統資源。

Full trust能讓客戶使用其他.NET功能,比如Windows Communication Foundation(WCF)

Windows Azure partial trust的執行權限沒有Full Trust高。

 

Instance指的是計算單元的個數,表示同時有多少台計算單元同時做同一處理和計算。

VM Size我之前已經說過,有5種不同的類型,相對應的硬件水平也不同:

VM大小 CPU RAM 本地存儲大小 I/O優先權
Extra Small(XS) 1 * 1.0GHz(共享CPU) 768MB 20GB
Small 1 * 1.6GHz 1.75GB 225GB
Medium 2 * 1.6GHz 3.5GB 490GB
Large 4 * 1.6GHz 7GB 1000GB
Extra Large(XL) 8 * 1.6GHz 14GB 2040GB

例如:我把Instance改成3,VM Size改成Small。則表示這個工程部署到Windows Azure平台上,實際的運行能力等同於3台CPU為單核1.6G,內存為1.75G的物理主機聯合起來的計算能力。

 

5.我們在上一界面里切換到Settings窗體,然后點擊"Add Setting",則會默認新增Setting1一個屬性,並且類型可以選擇"String"和"Connect String"。如果Type是"Connect String"則Value會出現顯示為"..."的按鈕。

這里的區別在於:

"String"表示你輸入的是字符類型,可以輸入任意你想要的字符串。

"Connection String"表示你輸入的是連接字符串,連接字符串的內容和格式長度微軟是有嚴格的限制的。如果您在Connection String里隨便輸入無效的字符和數字,系統會提示錯誤。

這兩個值可以看做是Azure的配置文件(類似於Web.Config),並且可以使用Azure SDK的API來讀取。

點擊顯示為"..."的按鈕,會彈出一個新的窗口

上圖有兩個單選框

"Use the Windows Azure Storage emulator"我們一般在使用本地模擬器(Azure Emulator)調試時選擇。

"Enter Storage account credentials"這個內容表示使用Windows Azure雲計算數據中心提供的證書(證書包含了證書名和密碼)。我會在Azure Storage這章詳細介紹。

 

 

CSCFG配置頁面

我們在查看CSCFG配置頁面的時候,可以看到下圖的內容

 

有關osFamily和osVersion的信息,可以參考MSDN文檔:

https://msdn.microsoft.com/en-us/library/azure/ee758710.aspx

 

含義:

 

osFamily

表示PaaS Cloud Service的版本是Windows Server 2012 R2

osVersion

當設置為*的時候,表示一旦有新的Guest OS,PaaS OS會自動將操作系統升級

schemaVersion

表示Visual Studio和SDK的兼容模式

 

 

后續的Endpoints、Local Storage、Certificates、Virtual Network我會在后面幾章做詳細的介紹。

 

 


免責聲明!

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



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