共用方式為


應用程式圖表上的 ASP.NET 應用程式概觀

更新:2007 年 11 月

在 [應用程式設計工具] 中,您可以加入或使用適當的端點,以定義會公開 (Expose) .asmx 檔案架構之 Web 服務、記載 Web 內容或兩者的 ASP.NET 應用程式。當您將 ASP.NET Web 服務應用程式或 ASP.NET Web 應用程式加入至應用程式圖表時,應用程式定義會分別具有預設的 Web 服務或 Web 內容提供者端點。不過,您可以在 ASP.NET 應用程式上新增或移除任一種提供者端點,也可以在 ASP.NET 應用程式上替換 Web 服務提供者端點。

如需詳細資訊,請參閱下列主題:

以下幾節的內容會包含應用程式圖表上 ASP.NET 應用程式的詳細資訊:

  • 在 ASP.NET 應用程式上定義 Web 服務

  • 定義 ASP.NET Web 應用程式

  • 實作 ASP.NET 應用程式

  • 實作 Web 服務消費者應用程式

在 ASP.NET 應用程式上定義 Web 服務

在 ASP.NET 應用程式上的 Web 服務是以 Web 服務提供者端點表示。任何應用程式上的 Web 服務消費者端點都表示某個 Web 服務的連接點。您可以定義、檢視和編輯 ASP.NET 應用程式上的 Web 服務作業。

定義、檢視和編輯作業

在 [應用程式設計工具] 中,您可以透過對應的 Web 服務提供者端點,為 ASP.NET 應用程式上的每個 Web 服務定義、檢視和編輯作業與參數。

秘訣

[應用程式設計工具] 也支援合約導向的方式,因為您可以根據現有的 WSDL 檔案或 .disco 檔案,使用預先定義的作業簽章和型別,在 ASP.NET 應用程式上建立 Web 服務提供者端點。如需詳細資訊,請參閱根據 WSDL 檔的 Web 服務端點

您可以使用下列項目定義一個或多個作業:

  • 適當的作業名稱和傳回型別。

  • 作業參數 (包括適當的作業名稱和型別),以及描述如何傳遞每個參數的修飾詞 (Modifier)。

  • 每個作業或參數的選擇性 (Optional) 註解。

如需詳細資訊,請參閱 HOW TO:定義 ASP.NET Web 服務的作業

在 Web 服務細節視窗中定義作業

在 [應用程式設計工具] 中,您可以使用 [Web 服務細節] 視窗,為 ASP.NET 應用程式上的 Web 服務提供者端點定義、檢視或編輯作業。對於在已實作之 ASP.NET 應用程式上的 Web 服務,則只有在不同的程式碼檔或「程式碼後置」(Code-Behind) 檔案中的單一類別 (Class) 定義內完全定義對應的 Web 方法時,這個視窗才會正確顯示 Web 服務作業。

下表描述 [Web 服務細節] 視窗不會正確顯示 Web 服務作業的情節。

情節

Web 服務細節視窗

.asmx 檔案包含內嵌 (Inline) 的 Web 服務類別定義。

未顯示任何作業。

Web 方法是由 Web 服務類別所實作之介面方法上的屬性宣告。

-或-

類別擴充定義 Web 方法的基底類別。

僅顯示在 .asmx 檔案所參考之類別中宣告的 Web 方法的對應作業。

定義包含多個繫結之 Web 服務的程式碼後置檔案。

僅顯示與第一個繫結相關的作業。

如需詳細資訊,請參閱在現有方案中進行反向工程的考量

參考作業和參數的型別

參考作業或參數的型別是否適當,需視選擇用於應用程式的程式語言而定。定義作業或參數時,您可以選擇下列其中一個動作:

  • 視情況將型別保留為空白或設定為預設值。

  • 從 IntelliSense 型別清單中選擇型別。

  • 如果應用程式專案中存在其他類別庫 (Class Library) 和專案的參考,則可參考這些類別庫和專案所定義的型別。

  • 參考您打算稍後定義的型別。

使用 [Web 服務細節] 視窗定義作業和參數時,IntelliSense 支援可用於 Visual Basic 和 Visual C# 參考型別。一旦實作應用程式後,您可以定義新的型別或重新定義現有的型別。如需詳細資訊,請參閱 HOW TO:定義 ASP.NET Web 服務的作業和參數型別

定義 ASP.NET Web 應用程式

在 [應用程式設計工具] 中,ASP.NET 應用程式上的 Web 內容提供者端點表示公開 Web 內容的連接點,例如 HTML 檔案或 Active Server Pages (.aspx 檔案)。任何應用程式上的 Web 內容消費者端點都表示某個 Web 內容的用戶端連接點。

Web 內容端點不支援程式碼的產生和同步處理,也不會產生或與應用程式組態檔 (.config) 項目同步。不過,您可以使用這些端點記載需求,並針對 Web 伺服器上裝載 (Host) 的網站來設定 Web 內容支援的條件約束。

如需詳細資訊,請參閱下列主題:

實作 ASP.NET 應用程式

實作 ASP.NET 應用程式時,Visual Studio 會以適當的專案檔產生對應的專案。您可以將 ASP.NET 應用程式實作為 ASP.NET 程式開發伺服器 Web 專案 (檔案系統架構) 或網際網路資訊服務 (IIS) Web 專案 (HTTP 架構)。如需詳細資訊,請參閱可用來定義應用程式的應用程式類型和原型HOW TO:選擇 ASP.NET 應用程式的網站類型

所有 ASP.NET 應用程式專案都包含 Web.config 組態檔,做為 [方案總管] 中根專案的一部分。對於具有一個或多個 Web 服務提供者端點的 ASP.NET 應用程式而言,專案還會包含 .asmx 檔案和 Web 服務類別檔案,其中 Web 服務類別檔案是每個 Web 服務提供者端點之程式語言特定的程式碼檔或稱為「程式碼後置檔案」。

在 Web 服務類別中,具有單一繫結和單一通訊埠的 WSDL 繫結會與每個 Web 服務提供者端點產生關聯。每個 Web 服務作業 (以及任何註解) 都會在 Web 服務類別中顯示為已標記 WebMethod 屬性的方法。對於任何從 WSDL 或 .disco 檔案建立的 Web 服務提供者端點而言,應用程式專案中還會包含類別檔案,此種檔案會定義可支援對 WSDL 檔案或相關 XML 結構描述檔案中之作業進行 XML 序列化的任何複雜 XML 型別。您可以接著加入所需的方法主體程式碼,以完成每項作業的實作。如需詳細資訊,請參閱根據 WSDL 檔的 Web 服務端點

注意事項:

您在作業註解中指定的任何 WSDL 描述也會出現在 WSDL 檔案中。您也可以自訂 WSDL 檔案的產生方式。如需詳細資訊,請參閱 ASP.NET Web 服務的 WSDL 檔案產生

雖然已實作之應用程式的原始程式碼會被視為主定義,但是當應用程式圖表為開啟狀態時,您在 [應用程式設計工具]、[Web 服務細節] 視窗或程式碼編輯器中對 ASP.NET Web 服務所做的任何變更都會彼此同步。不過,關閉的圖表將會在下次開啟圖表時與程式碼的變更進行同步處理。如需詳細資訊,請參閱 HOW TO:在應用程式圖表上實作應用程式

‏ASP.NET Web 應用程式的動態通訊埠指派

實作檔案系統架構的 ASP.NET 應用程式時 (這個動作會產生 ASP.NET 程式開發伺服器的 Web 專案),會將通訊埠編號指派給相關的網站。由於檔案系統架構 ASP.NET 應用程式的預設設定是使用動態通訊埠,因此這個通訊埠編號可以變更。

秘訣

您可以在 [方案總管] 中以滑鼠右鍵按一下 ASP.NET 應用程式專案,即可在 [屬性] 視窗中檢視通訊埠編號。

例如,在下列任何一種狀況下,會將新的通訊埠編號指派給檔案系統架構的 ASP.NET 應用程式:

  • 開啟包含下列應用程式的方案時:這些類型的 ASP.NET 應用程式,以及會參考由這些 ASP.NET 應用程式所公開之 Web 服務的已實作之 Web 服務消費者應用程式。

  • 第一次在包含這些類型之 ASP.NET 應用程式的方案中使用 [Visual Studio 偵錯工具] 時。

如果相關的 Web 服務消費者應用程式專案在同一個方案中,則會自動加以更新。不過,如果這些專案不在同一個方案中 (例如,如果它們在分割方案中),則它們的 Web 參考就不會更新,而且會指向不存在的 Web 服務。

注意事項:

如果您正在使用原始程式碼控制,而相關的 Web 服務消費者應用程式專案已簽入原始程式碼控制,您就必須簽出這些專案才能更新 Web 參考。

若要控制通訊埠編號的指派,您可以將檔案系統架構 ASP.NET 應用程式的專案設定為不使用動態通訊埠。

注意事項:

在指定不使用動態通訊埠之後,啟動 [Visual Studio 偵錯工具] 可能會產生現有通訊埠正在使用中的錯誤。在此情況下,您必須手動為網站專案變更通訊埠編號。當您變更通訊埠編號時,Visual Studio 會產生現有 Web 參考將變得無效的警告。如果應用程式圖表是開啟的,則會更新 Web 參考。不過,如果應用程式圖表並未開啟,您就必須先刪除再加回這些 Web 參考。

如需詳細資訊,請參閱下列主題:

實作 Web 服務消費者應用程式

實作具有一個或多個 Web 服務消費者端點的應用程式時,如果可以取得用於產生 Web 參考的 WSDL 檔案,則會為每個 Web 服務消費者端點產生一個 Web 參考。這個 WSDL 檔案是由 Web 服務消費者端點上的 WSDL 位置屬性所指定。產生 Web 參考時,也會產生消費者應用程式之組態檔中的 Web 服務 URL。

注意事項:

如果同時實作了連接的 ASP.NET Web 服務提供者應用程式,則 WSDL 檔案將可於實作期間取得。不過,如果實作消費者端點時,並未實作連接的 Web 服務提供者應用程式,則消費者端點會顯示警告,表示無法實作消費者端點。如果實作 Web 服務提供者應用程式時,若已實作消費者應用程式,則會自動實作任何連接的消費者端點。如需詳細資訊,請參閱應用程式圖表疑難排解

Web 參考會處理 Web 服務用戶端 Proxy 類別和 Proxy 型別的建立工作,以供呼叫 Web 服務作業並處理 SOAP 訊息的通訊。您也可以對自訂 Web 服務用戶端 Proxy 類別 (包括類別庫中定義的自訂 Proxy 類別和 Web 參考) 進行反向工程並以視覺化方式檢視,成為 Web 服務消費者端點。如需詳細資訊,請參閱建立 XML Web Service Proxy自訂 Web 服務用戶端 Proxy 類別的考量

注意事項:

您也可以在實作之後,為 Windows 或 Web 服務消費者應用程式啟用 XML 文件,以便在 XML 檔中包含作業註解。這個檔案會在您建置應用程式專案之後產生。若要產生 XML 檔,您必須為 Windows 專案啟用 XML 文件。若是 Visual Basic Windows 專案,請參閱 HOW TO:產生專案的 XML 文件。若為 Visual C# Windows 專案,請參閱 HOW TO:設定建置屬性 (C#)專案設計工具、建置頁 (C#)

請參閱

其他資源

在應用程式圖表上定義 ASP.NET 應用程式