創(chuàng)建新的ASP。NET MVC 4.0 Web應(yīng)用程序項(xiàng)目

  1. 在ASP中。NET MVC 4項(xiàng)目類型對(duì)話框,選擇Web API項(xiàng)目類型。單擊確定。

    Image 2: Specifying the Web API project type

指定Web API項(xiàng)目類型(S)

在此任務(wù)中,您將創(chuàng)建API方法將駐留在其中的控制器類。

  1. 從項(xiàng)目中刪除Controllers文件夾中名為ValuesController.cs的文件。

  2. 右鍵單擊項(xiàng)目中的控制器文件夾,然后從上下文菜單中選擇添加|控制器。

    Image 3: Adding a new controller to the project

向項(xiàng)目添加新控制器

  1. 在出現(xiàn)的添加控制器對(duì)話框中,從模板菜單中選擇空API控制器。將控制器類命名為ContactController。然后,單擊添加

    Image 4: Using the Add Controller dialog to create a new Web API controller

使用“添加控制器”對(duì)話框創(chuàng)建新的Web API控制器(U)

  1. 將以下代碼添加到ContactController中。

(代碼段-Web API實(shí)驗(yàn)室-Ex01-獲取API方法

publicstring[]Get()
{
returnnewstring[]
{
"Hello",
"[World](http://www.dlbhg.com/provider/uid20241114923216711076)"
;
  1. F5調(diào)試應(yīng)用程序。應(yīng)該顯示W(wǎng)eb API項(xiàng)目的默認(rèn)主頁(yè)。

    Image 5: The default home page of an ASP.NET Web API application

ASP的默認(rèn)主頁(yè)。NET Web API應(yīng)用程序

  1. 在Internet Explorer窗口中,按F12鍵打開(kāi)開(kāi)發(fā)人員工具窗口。單擊網(wǎng)絡(luò)選項(xiàng)卡,然后單擊開(kāi)始捕獲按鈕,開(kāi)始將網(wǎng)絡(luò)流量捕獲到窗口中。

    Image 6: Opening the network tab and initiating network capture

打開(kāi)網(wǎng)絡(luò)選項(xiàng)卡并啟動(dòng)網(wǎng)絡(luò)捕獲

  1. 在瀏覽器的地址欄中用/api/contact附加URL,然后按回車鍵。傳輸詳細(xì)信息將顯示在網(wǎng)絡(luò)捕獲窗口中。請(qǐng)注意,響應(yīng)的MIME類型為application/json。這演示了默認(rèn)輸出格式是JSON。

    Image 7: Viewing the output of the Web API request in the Network view

在“網(wǎng)絡(luò)”視圖中查看Web API請(qǐng)求的輸出(V)

Internet Explorer 10此時(shí)的默認(rèn)行為是詢問(wèn)用戶是否要保存或打開(kāi)Web API調(diào)用產(chǎn)生的流。輸出將是一個(gè)文本文件,其中包含Web API URL調(diào)用的JSON結(jié)果。不要取消對(duì)話框,以便能夠通過(guò)開(kāi)發(fā)人員工具窗口查看響應(yīng)的內(nèi)容。

  1. 單擊Go詳細(xì)查看按鈕,查看有關(guān)此API調(diào)用響應(yīng)的更多詳細(xì)信息。

    Image 8: Switch to Detailed View

切換到詳細(xì)視圖

  1. 單擊響應(yīng)正文選項(xiàng)卡查看實(shí)際的JSON響應(yīng)文本。

    Image 9: Viewing the JSON output text in the network monitor

在網(wǎng)絡(luò)監(jiān)視器中查看JSON輸出文本

在此任務(wù)中,您將創(chuàng)建將駐留API方法的控制器類。

  1. 右鍵單擊模型文件夾,然后選擇添加|類。..從上下文菜單中選擇。

    Image 10: Adding a new model to the web application

向web應(yīng)用程序添加新模型

  1. 添加新項(xiàng)對(duì)話框中,將新文件命名為Contact.cs,然后單擊添加

    Image 11: Creating the new Contact class file

創(chuàng)建新的Contact類文件

  1. 將以下突出顯示的代碼添加到Contact類中。

(代碼段-Web API實(shí)驗(yàn)室-Ex01-聯(lián)系類別

 public string Name { get; set; 
  1. ContactController類中,選擇Get方法的方法定義中的單詞string,然后鍵入單詞Contact。輸入單詞后,單詞聯(lián)系人的開(kāi)頭將出現(xiàn)一個(gè)指示符。按住Ctrl+鍵并按句點(diǎn)(.)鍵,或使用鼠標(biāo)單擊圖標(biāo)打開(kāi)代碼編輯器中的幫助對(duì)話框,以自動(dòng)填寫Models命名空間的using指令。

    Image 12: Using Intellisense assistance for namespace declarations

使用Intellisense輔助進(jìn)行命名空間聲明

  1. 修改Get方法的代碼,使其返回Contact模型實(shí)例數(shù)組。

(代碼段-Web API實(shí)驗(yàn)室-Ex01-返回聯(lián)系人列表

 public Contact[] Get()
{
return new Contact[]
{
new Contact
{
名稱=“格倫·布洛克”,
Name = "Glenn Block"
,
new Contact
{
名字=“丹·羅斯”,
Name = "Dan Roth"

;
  1. F5在瀏覽器中調(diào)試web應(yīng)用程序。要查看對(duì)API的響應(yīng)輸出所做的更改,請(qǐng)執(zhí)行以下步驟。

1.瀏覽器打開(kāi)后,如果開(kāi)發(fā)人員工具尚未打開(kāi),請(qǐng)按F12

2.單擊網(wǎng)絡(luò)選項(xiàng)卡。

3.按下開(kāi)始捕獲按鈕。

4.將URL后綴/api/聯(lián)系人添加到地址欄中的URL,然后按輸入鍵。

5.按Go詳細(xì)視圖按鈕。

6.選擇響應(yīng)體選項(xiàng)卡。您應(yīng)該看到一個(gè)JSON字符串,表示Contact實(shí)例數(shù)組的序列化形式。

Image 13: JSON serialized output of a complex Web API method call

復(fù)雜Web API方法調(diào)用的JSON序列化輸出(JSON)

本任務(wù)將演示如何將功能提取到服務(wù)層,使開(kāi)發(fā)人員能夠輕松地將他們的服務(wù)功能與控制器層分離,從而允許實(shí)際完成工作的服務(wù)的可重用性。

  1. 在解決方案根目錄中創(chuàng)建一個(gè)新文件夾,并將其命名為Services。為此,右鍵單擊ContactManager項(xiàng)目,選擇添加|新建文件夾,將其命名為Services

    Image 14: Creating Services folder

創(chuàng)建服務(wù)文件夾

  1. 右鍵單擊服務(wù)文件夾,然后選擇添加|類。..從上下文菜單中選擇。

    Image 15: Adding a new class to the Services folder

將新類添加到Services文件夾

  1. 出現(xiàn)添加新項(xiàng)對(duì)話框時(shí),將新類命名為ContactRepository,然后單擊添加。

    Image 16: Creating a class file to contain the code for the Contact Repository service layer

創(chuàng)建類文件以包含聯(lián)系人存儲(chǔ)庫(kù)服務(wù)層的代碼

  1. ContactRepository.cs文件中添加一個(gè)using指令,以包含模型命名空間。

    using ContactManager.Models;
  2. 將以下突出顯示的代碼添加到ContactRepository.cs文件中,以實(shí)現(xiàn)GetAllContacts方法。

(代碼段-Web API實(shí)驗(yàn)室-Ex01-聯(lián)系存儲(chǔ)庫(kù)

 public class ContactRepository
{
public Contact[] GetAllContacts()
{
return new Contact[]
{
new Contact
{
名稱=“格倫·布洛克”,
Name = "Glenn Block"
,
new Contact
{
名字=“丹·羅斯”,
Name = "Dan Roth"

;
  1. 打開(kāi)ContactController.cs文件(如果尚未打開(kāi))。

  2. 將以下using語(yǔ)句添加到文件的命名空間聲明部分。

    using ContactManager.Services;
  3. 將以下突出顯示的代碼添加到ContactController.cs類中,以添加一個(gè)私有字段來(lái)表示存儲(chǔ)庫(kù)的實(shí)例,以便其他類成員可以使用服務(wù)實(shí)現(xiàn)。

(代碼段-Web API實(shí)驗(yàn)室-Ex01-聯(lián)系控制器

publicContactController()
{
this.contactRepository=newContactRepository();

...
  1. 更改Get方法,使其使用聯(lián)系人存儲(chǔ)庫(kù)服務(wù)。

(代碼段-Web API實(shí)驗(yàn)室-Ex01-通過(guò)存儲(chǔ)庫(kù)返回聯(lián)系人列表

publicContact[]Get()
{
returncontactRepository.GetAllContacts();
  1. ContactController獲取方法定義上設(shè)置斷點(diǎn)。

Image 17: Adding breakpoints to the contact controller

_向觸點(diǎn)控制器11添加斷點(diǎn)。按F5運(yùn)行應(yīng)用程序。 12.瀏覽器打開(kāi)后,按F12打開(kāi)開(kāi)發(fā)人員工具。 13.單擊網(wǎng)絡(luò)選項(xiàng)卡。單擊開(kāi)始捕獲按鈕。 15.在地址欄中添加后綴/api/contact的URL,然后按輸入加載api控制器。 16.一旦Get方法開(kāi)始執(zhí)行,Visual Studio 2012就會(huì)中斷。

Image 18: Breaking within the Get method

Get方法中的突破 17。按F5繼續(xù)。 18.如果Internet Explorer尚未處于焦點(diǎn),請(qǐng)Go它。注意網(wǎng)絡(luò)捕獲窗口。

Image 19: Network view in Internet Explorer showing results of the Web API call

_顯示W(wǎng)eb API調(diào)用結(jié)果的Internet Explorer中的網(wǎng)絡(luò)視圖_19。單擊Go詳細(xì)視圖按鈕。 20.單擊響應(yīng)主體選項(xiàng)卡。注意API調(diào)用的JSON輸出,以及它如何表示服務(wù)層檢索到的兩個(gè)聯(lián)系人。

Image 20: Viewing the JSON output from the Web API in the developer tools window

在開(kāi)發(fā)人員工具窗口中查看Web API的JSON輸出(V)

在本練習(xí)中,您將為聯(lián)系人管理器實(shí)現(xiàn)POST和PUT方法,以使其具有數(shù)據(jù)編輯功能。

在本任務(wù)中,您將準(zhǔn)備增強(qiáng)練習(xí)1中創(chuàng)建的Web API項(xiàng)目,使其能夠接受用戶輸入。

  1. 運(yùn)行Visual Studio 2012學(xué)習(xí)版Web,若要執(zhí)行此操作,請(qǐng)go開(kāi)始并鍵入**VS學(xué)習(xí)版Web*,然后按輸入**。

  2. 打開(kāi)位于Source/Ex02 ReadWriteWebAPI/Begint/文件夾中的Begin解決方案。否則,您可以繼續(xù)使用通過(guò)完成上一個(gè)練習(xí)獲得的結(jié)束解決方案。

1.如果您打開(kāi)了提供的開(kāi)始解決方案,則需要下載一些缺少的NuGet包才能繼續(xù)。為此,請(qǐng)單擊項(xiàng)目菜單,然后選擇管理NuGet包。

2.在管理NuGet包對(duì)話框中,單擊還原以下載丟失的包。

3.最后,通過(guò)單擊構(gòu)建|構(gòu)建解決方案來(lái)構(gòu)建解決方案。

使用NuGet的一個(gè)優(yōu)點(diǎn)是,您不必在項(xiàng)目中發(fā)布所有庫(kù),從而減小了項(xiàng)目規(guī)模。使用NuGet Power Tools,通過(guò)在Packages.config文件中指定包版本,您將能夠在第一次運(yùn)行項(xiàng)目時(shí)下載所有必需的庫(kù)。這就是為什么在從該實(shí)驗(yàn)室打開(kāi)現(xiàn)有解決方案后,您必須運(yùn)行這些步驟。

  1. 打開(kāi)Services/ContactRepository.cs文件。

在此任務(wù)中,您將增強(qiáng)練習(xí)1中創(chuàng)建的Web API項(xiàng)目的ContactRepository類,以便它可以持久化并接受用戶輸入和新的Contact實(shí)例。

  1. 將以下常量添加到ContactRepository類中,以表示本練習(xí)稍后的web服務(wù)器緩存項(xiàng)鍵名的名稱。

    privateconststringCacheKey="ContactStore";
  2. ContactRepository添加一個(gè)構(gòu)造函數(shù),其中包含以下代碼。

(代碼段-Web API實(shí)驗(yàn)室-Ex02-聯(lián)系存儲(chǔ)庫(kù)構(gòu)造器

如果(ctx!=空)

ctx.Cache[CacheKey] = contacts;
  1. 修改GetAllContacts方法的代碼,如下所示。

(代碼段-Web API實(shí)驗(yàn)室-Ex02-獲取所有聯(lián)系人

如果(ctx!=空)

returnnewContact[]
{
newContact
{
Id=0,
Name="Placeholder"

;

此示例用于演示目的,將使用web服務(wù)器的緩存作為存儲(chǔ)介質(zhì),以便多個(gè)客戶端可以同時(shí)使用這些值,而不是使用會(huì)話存儲(chǔ)機(jī)制或請(qǐng)求存儲(chǔ)生命周期。可以使用實(shí)體框架、XML存儲(chǔ)或任何其他類型來(lái)代替web服務(wù)器緩存。

  1. ContactRepository類中實(shí)現(xiàn)一個(gè)名為SaveContact的新方法,以完成保存聯(lián)系人的工作。SaveContact方法應(yīng)接受一個(gè)Contact參數(shù),并返回一個(gè)表示成功或失敗的布爾值。

(代碼段-Web API實(shí)驗(yàn)室-Ex02-實(shí)現(xiàn)SaveContact方法

如果(ctx!=空)

返回true;

return false;

在本練習(xí)中,您將創(chuàng)建一個(gè)HTML客戶端來(lái)調(diào)用Web API。該客戶端將使用JavaScript促進(jìn)與Web API的數(shù)據(jù)交換,并將使用HTML標(biāo)記在Web瀏覽器中顯示結(jié)果。

在此任務(wù)中,您將修改web應(yīng)用程序的默認(rèn)索引視圖,以支持在HTML瀏覽器中顯示現(xiàn)有聯(lián)系人列表的要求。

  1. 打開(kāi)Visual Studio 2012 Web學(xué)習(xí)版(如果尚未打開(kāi))。

  2. 打開(kāi)位于Source/Ex03 ConsumingWebAPI/Begint/文件夾中的Begin解決方案。否則,您可以繼續(xù)使用通過(guò)完成上一個(gè)練習(xí)獲得的結(jié)束解決方案。

1.如果您打開(kāi)了提供的開(kāi)始解決方案,則需要下載一些缺少的NuGet包才能繼續(xù)。為此,請(qǐng)單擊項(xiàng)目菜單,然后選擇管理NuGet包

2.在管理NuGet包對(duì)話框中,單擊還原以下載丟失的包。

3.最后,通過(guò)單擊構(gòu)建|構(gòu)建解決方案來(lái)構(gòu)建解決方案。

使用NuGet的一個(gè)優(yōu)點(diǎn)是,您不必在項(xiàng)目中發(fā)布所有庫(kù),從而減小了項(xiàng)目規(guī)模。使用NuGet Power Tools,通過(guò)在Packages.config文件中指定包版本,您將能夠在第一次運(yùn)行項(xiàng)目時(shí)下載所有必需的庫(kù)。這就是為什么在從該實(shí)驗(yàn)室打開(kāi)現(xiàn)有解決方案后,您必須運(yùn)行這些步驟。

  1. 打開(kāi)位于Views/Home文件夾中的Index.cshtml文件。

  2. 將div元素中的HTML代碼替換為idbody,使其看起來(lái)像以下代碼。

  1. 在文件底部添加以下Javascript代碼,以執(zhí)行對(duì)Web API的HTTP請(qǐng)求。
  1. 打開(kāi)ContactController.cs文件(如果尚未打開(kāi))。

  2. ContactController類的Get方法上放置斷點(diǎn)。

    Image 21: Placing a breakpoint on the Get method of the API controller

_在API控制器的Get方法上放置斷點(diǎn)(P)

  1. F5運(yùn)行項(xiàng)目。瀏覽器將加載HTML文檔。

確保您正在瀏覽應(yīng)用程序的根URL。

  1. 加載頁(yè)面并執(zhí)行JavaScript后,斷點(diǎn)將被命中,代碼執(zhí)行將在控制器中暫停。

    Image 22: Debugging into the Web API calls using VS Express for Web

使用Visual Studio 2012學(xué)習(xí)版Web調(diào)試Web API調(diào)用(D)

  1. 刪除斷點(diǎn),按F5或調(diào)試工具欄的繼續(xù)按鈕,繼續(xù)在瀏覽器中加載視圖。一旦Web API調(diào)用完成,您應(yīng)該會(huì)看到從Web API調(diào)用返回的聯(lián)系人在瀏覽器中顯示為列表項(xiàng)。

    Image 23: Results of the API call displayed in the browser as list items

_在瀏覽器中顯示為列表項(xiàng)的API調(diào)用結(jié)果(R)

  1. 停止調(diào)試。

在此任務(wù)中,您將繼續(xù)修改MVC應(yīng)用程序的索引視圖。將向HTML頁(yè)面添加一個(gè)表單,該表單將捕獲用戶輸入并將其發(fā)送到Web API以創(chuàng)建新的聯(lián)系人,并將創(chuàng)建一個(gè)新的Web API控制器方法以從GUI收集日期。

  1. 打開(kāi)ContactController.cs文件。

  2. 向名為Post的控制器類添加一個(gè)新方法,如下代碼所示。

(代碼段-Web API實(shí)驗(yàn)室-Ex03-后方法_)

var響應(yīng)=請(qǐng)求。CreateResponse(System.Net.HttpStatusCode.Created,聯(lián)系人);

returnresponse;
  1. 如果尚未打開(kāi),請(qǐng)?jiān)赩isual Studio中打開(kāi)Index.cshtml文件。

  2. 將下面的HTML代碼添加到您在上一個(gè)任務(wù)中添加的無(wú)序列表之后的文件中。

  1. 在文檔底部的腳本元素中,添加以下突出顯示的代碼來(lái)處理按鈕單擊事件,該事件將使用HTTP post調(diào)用將數(shù)據(jù)發(fā)布到Web API。
  1. ContactController.cs中,在Post方法上放置斷點(diǎn)。

  2. F5在瀏覽器中運(yùn)行應(yīng)用程序。

  3. 在瀏覽器中加載頁(yè)面后,鍵入新的聯(lián)系人姓名和Id,然后單擊保存按鈕。

    Image 24: The client HTML document loaded in the browser

瀏覽器中加載的客戶端HTML文檔

  1. 當(dāng)調(diào)試器窗口在Post方法中中斷時(shí),請(qǐng)查看contact參數(shù)的屬性。這些值應(yīng)與您在表單中輸入的數(shù)據(jù)相匹配。

    Image 25: The Contact object being sent to the Web API from the client

_從客戶端發(fā)送到Web API的聯(lián)系人對(duì)象(T)

  1. 逐步執(zhí)行調(diào)試器中的方法,直到創(chuàng)建了response變量。在調(diào)試器的Locals窗口中檢查后,您將看到所有屬性都已設(shè)置。

Image 26: The response following creation in the debugger

_在調(diào)試器中創(chuàng)建后的響應(yīng)_11。如果按F5或在調(diào)試器中單擊繼續(xù),請(qǐng)求將完成。切換回瀏覽器后,新聯(lián)系人已添加到ContactRepository實(shí)現(xiàn)存儲(chǔ)的聯(lián)系人列表中。

Image 27: The browser reflects successful creation of the new contact instance

瀏覽器反映新聯(lián)系人實(shí)例的成功創(chuàng)建

此外,您可以按照附錄C將此應(yīng)用程序部署到Azure(微軟云平臺(tái)):發(fā)布ASP。NET MVC 4應(yīng)用程序使用Web部署。


這個(gè)實(shí)驗(yàn)室向你介紹了新的ASP。NET Web API框架,以及使用該框架實(shí)現(xiàn)RESTful Web APIs。從這里,您可以創(chuàng)建一個(gè)新的存儲(chǔ)庫(kù),使用任何數(shù)量的機(jī)制和連接來(lái)促進(jìn)數(shù)據(jù)持久性,而不是本實(shí)驗(yàn)室中提供的簡(jiǎn)單的服務(wù)。Web API支持許多附加功能,例如允許使用支持HTTP、JSON或XML的任何語(yǔ)言編寫的非HTML客戶端進(jìn)行通信。也可以在典型的Web應(yīng)用程序之外托管Web API,還可以創(chuàng)建自己的序列化格式。

有了代碼片段,您就可以輕松獲取所需的所有代碼。實(shí)驗(yàn)室文檔將告訴您何時(shí)可以使用它們,如下圖所示。

Image 28: Using Visual Studio code snippets to insert code into your project

使用Visual Studio code片段將代碼插入到項(xiàng)目中(U)

  1. 將光標(biāo)放在要插入代碼的位置。

  2. 開(kāi)始鍵入代碼段名稱(不含空格或連字符)。

  3. 觀察IntelliSense顯示匹配的代碼段名稱。

  4. 選擇正確的代碼段(或繼續(xù)鍵入,直到選擇了整個(gè)代碼段的名稱)。

  5. 按Tab鍵兩次將代碼段插入光標(biāo)位置。

    Image 29: Start typing the snippet name

開(kāi)始鍵入代碼段名稱

Image 30: Press Tab to select the highlighted snippet

按Tab鍵選擇突出顯示的代碼段

Image 31: Press Tab again and the snippet will expand

再次按Tab鍵,代碼段將展開(kāi)

1.右鍵單擊要插入代碼段的位置。

  1. 選擇插入代碼段,然后選擇我的代碼段

  2. 點(diǎn)擊列表中的相關(guān)片段。

    Image 32: Right-click where you want to insert the code snippet and select Insert Snippet

右鍵單擊要插入代碼段的位置,然后選擇插入代碼段

Image 33: Pick the relevant snippet from the list, by clicking on it

點(diǎn)擊列表中的相關(guān)片段

  1. Go /is/extensions/introduction到-iis-express/is–express-overview?鏈接ID=9810169?;蛘?,如果您已經(jīng)安裝了Web平臺(tái)安裝程序,則可以打開(kāi)它并搜索產(chǎn)品“Visual Studio Express 2012 for Web with Azure(微軟云平臺(tái))SDK”。

  2. 單擊立即安裝。如果您沒(méi)有Web平臺(tái)安裝程序,您將被重定向到先下載并安裝它。

  3. 打開(kāi)Web平臺(tái)安裝程序后,單擊安裝開(kāi)始安裝。

    Image 34: Install Visual Studio Express

安裝Visual Studio學(xué)習(xí)版

  1. 閱讀所有產(chǎn)品的許可證和條款,然后單擊我接受繼續(xù)。

    Image 35: Accepting the license terms

接受許可條款

  1. 等待下載和安裝過(guò)程完成。

    Image 36: Installation progress

安裝進(jìn)度

  1. 安裝完成后,單擊完成。

    Image 37: Installation completed

安裝完成

  1. 單擊退出關(guān)閉Web平臺(tái)安裝程序。

  2. 若要打開(kāi)Visual Studio Express for Web,請(qǐng)go開(kāi)始屏幕并開(kāi)始寫入“VS Express”,然后單擊VS Express for Web磁貼。

    Image 38: VS Express for Web tile

VS Express用于Web互動(dòng)程序

本附錄將向您展示如何利用Azure(微軟云平臺(tái))提供的web Deploy發(fā)布特征(feature),從Azure(微軟云平臺(tái))門戶網(wǎng)站創(chuàng)建新網(wǎng)站,并發(fā)布您通過(guò)跟蹤實(shí)驗(yàn)室獲得的應(yīng)用程序。

  1. Go Azure(微軟云平臺(tái))管理門戶,使用與訂閱關(guān)聯(lián)的Microsoft憑據(jù)登錄。

使用Azure(微軟云平臺(tái)),您可以托管10個(gè)ASP。NET網(wǎng)站免費(fèi),然后隨著流量的增長(zhǎng)而擴(kuò)展。你可以在這里注冊(cè)。

Image 39: Log on to Windows Azure portal

登錄門戶

  1. 單擊命令欄上的新建

    Image 40: Creating a new Web Site

創(chuàng)建新網(wǎng)站

  1. 點(diǎn)擊計(jì)算|網(wǎng)站。然后選擇快速創(chuàng)建選項(xiàng)。為新網(wǎng)站提供一個(gè)可用的URL,然后單擊創(chuàng)建網(wǎng)站

Azure(微軟云平臺(tái))是運(yùn)行在云中的web應(yīng)用程序的主機(jī),您可以控制和管理該應(yīng)用程序。快速創(chuàng)建選項(xiàng)允許您從門戶外部將已完成的web應(yīng)用程序部署到Azure(微軟云平臺(tái))。它不包括設(shè)置數(shù)據(jù)庫(kù)的步驟。

Image 41: Creating a new Web Site using Quick Create

使用快速創(chuàng)建創(chuàng)建新網(wǎng)站

  1. 等待新的網(wǎng)站創(chuàng)建。

  2. 創(chuàng)建網(wǎng)站后,單擊URL列下的鏈接。檢查新網(wǎng)站是否正常工作。

    Image 42: Browsing to the new web site

瀏覽新網(wǎng)站

Image 43: Web site running

網(wǎng)站正在運(yùn)行

  1. Go返回門戶,單擊名稱欄下的網(wǎng)站名稱以顯示管理頁(yè)面。

    Image 44: Opening the web site management pages

打開(kāi)網(wǎng)站管理頁(yè)面

  1. 儀表板頁(yè)面的快速瀏覽部分,單擊下載發(fā)布配置文件鏈接。

_publish profile_包含為每個(gè)啟用的發(fā)布方法將web應(yīng)用程序發(fā)布到Azure(微軟云平臺(tái))所需的所有信息。發(fā)布配置文件包含連接到啟用發(fā)布方法的每個(gè)端點(diǎn)并對(duì)其進(jìn)行身份驗(yàn)證所需的URL、用戶憑據(jù)和數(shù)據(jù)庫(kù)字符串。Microsoft WebMatrix 2、Microsoft Visual Studio Express for WebMicrosoft Visual Studio 2012支持讀取發(fā)布配置文件,以自動(dòng)配置這些程序,以便將Web應(yīng)用程序發(fā)布到Azure(微軟云平臺(tái))。

Image 45: Downloading the web site publish profile

下載網(wǎng)站發(fā)布配置文件

  1. 將發(fā)布配置文件下載到已知位置。在本練習(xí)中,您將進(jìn)一步了解如何使用此文件將web應(yīng)用程序從Visual Studio發(fā)布到Azure(微軟云平臺(tái))。

    Image 46: Saving the publish profile file

保存發(fā)布配置文件

如果您的應(yīng)用程序使用SQL Server數(shù)據(jù)庫(kù),則需要?jiǎng)?chuàng)建一個(gè)SQL數(shù)據(jù)庫(kù)服務(wù)器。如果要部署不使用SQL Server的簡(jiǎn)單應(yīng)用程序,可以跳過(guò)此任務(wù)。

  1. 您需要一個(gè)SQL數(shù)據(jù)庫(kù)服務(wù)器來(lái)存儲(chǔ)應(yīng)用程序數(shù)據(jù)庫(kù)。您可以在Azure(微軟云平臺(tái))管理門戶的SQL數(shù)據(jù)庫(kù)|服務(wù)器|Server的儀表板中查看訂閱中的SQL數(shù)據(jù)庫(kù)服務(wù)器。如果您沒(méi)有創(chuàng)建服務(wù)器,可以使用命令欄上的添加按鈕創(chuàng)建一個(gè)。記下服務(wù)器名稱和URL、管理員登錄名和密碼,因?yàn)槟鷮⒃诮酉聛?lái)的任務(wù)中使用它們。不要?jiǎng)?chuàng)建數(shù)據(jù)庫(kù),因?yàn)樗鼘⒃谏院箅A段創(chuàng)建。

    Image 47: SQL Database Server Dashboard

SQL數(shù)據(jù)庫(kù)服務(wù)器儀表板

  1. 在下一個(gè)任務(wù)中,您將測(cè)試來(lái)自Visual Studio的數(shù)據(jù)庫(kù)連接,因此您需要將本地IP地址包含在服務(wù)器的允許的IP地址列表中。為此,單擊配置,從當(dāng)前客戶端IP地址中選擇IP地址,并將其粘貼到起始IP地址結(jié)束IP地址文本框中,然后單擊!圖48:添加客戶端ip地址確定按鈕。

    Image 49: Adding Client IP Address

添加客戶端IP地址

  1. 客戶端IP地址添加到允許的IP地址列表后,單擊保存以確認(rèn)更改。

    Image 50: Confirm Changes

確認(rèn)更改

1.Go返回ASP。NET MVC 4解決方案。在解決方案資源管理器中,右鍵單擊網(wǎng)站項(xiàng)目并選擇發(fā)布。

Image 51: Publishing the Application

發(fā)布網(wǎng)站

  1. 導(dǎo)入您在第一個(gè)任務(wù)中保存的發(fā)布配置文件。

    Image 52: Importing the publish profile

導(dǎo)入發(fā)布配置文件

  1. 單擊驗(yàn)證連接。驗(yàn)證完成后,單擊下一步。

一旦您看到“驗(yàn)證連接”按鈕旁邊出現(xiàn)綠色復(fù)選標(biāo)記,驗(yàn)證即完成。

Image 53: Validating connection

驗(yàn)證連接

  1. 設(shè)置頁(yè)面的數(shù)據(jù)庫(kù)部分下,單擊數(shù)據(jù)庫(kù)連接文本框旁邊的按鈕(即DefaultConnection)。

    Image 54: Web deploy configuration

Web部署配置

  1. 按如下方式配置數(shù)據(jù)庫(kù)連接:

*在服務(wù)器名稱中,使用_tcp:_前綴鍵入SQL數(shù)據(jù)庫(kù)服務(wù)器URL。

*在用戶名中鍵入您的服務(wù)器管理員登錄名。

*在密碼中鍵入您的服務(wù)器管理員登錄密碼。

*鍵入新的數(shù)據(jù)庫(kù)名稱,例如:MVC4SampleDB。

Image 55: Configuring destination connection string

配置目標(biāo)連接字符串

  1. 然后單擊確定。當(dāng)系統(tǒng)提示創(chuàng)建數(shù)據(jù)庫(kù)時(shí),單擊

    Image 56: Creating the database

創(chuàng)建數(shù)據(jù)庫(kù)

  1. 將用于連接到Windows Azure(微軟云平臺(tái))中的SQL數(shù)據(jù)庫(kù)的連接字符串顯示在“默認(rèn)連接”文本框中。然后單擊下一步。

    Image 57: Connection string pointing to SQL Database

指向SQL數(shù)據(jù)庫(kù)的連接字符串

  1. 預(yù)覽頁(yè)面中,單擊發(fā)布。

    Image 58: Publishing the web application

發(fā)布web應(yīng)用程序

  1. 發(fā)布過(guò)程完成后,默認(rèn)瀏覽器將打開(kāi)已發(fā)布的網(wǎng)站。

    Image 59: Application published to Windows Azure

應(yīng)用程序已發(fā)布到Azure

原文鏈接: https://learn.microsoft.com/en-us/aspnet/web-api/overview/older-versions/build-restful-apis-with-aspnet-web-api

上一篇:

如何使用 node.js 和 express 創(chuàng)建 rest api

下一篇:

深入解析 DeepSeek API 密鑰:獲取、使用與最佳實(shí)踐
#你可能也喜歡這些API文章!

我們有何不同?

API服務(wù)商零注冊(cè)

多API并行試用

數(shù)據(jù)驅(qū)動(dòng)選型,提升決策效率

查看全部API→
??

熱門場(chǎng)景實(shí)測(cè),選對(duì)API

#AI文本生成大模型API

對(duì)比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力

25個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)

#AI深度推理大模型API

對(duì)比大模型API的邏輯推理準(zhǔn)確性、分析深度、可視化建議合理性

10個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)