開發和部署 WCF Data Services

本主題提供有關開發及部署 WCF Data Services 的資訊。 如需有關 WCF Data Services 的詳細基本資訊,請參閱開始使用 WCF Data ServicesWCF Data Services 概觀

開發 WCF Data Services

當您使用 WCF Data Services 建立支援 Open Data Protocol (OData) 的資料服務時,您必須在開發期間執行下列基本工作:

  1. 定義資料模型

    WCF Data Services 支援多種資料服務提供者,可讓您根據各種資料來源的資料,定義關聯式資料庫到晚期繫結資料型別的資料模型。 如需詳細資訊,請參閱資料服務提供者 (WCF Data Services)

  2. 建立資料服務

    最基本的資料服務會公開繼承自 DataService<T> 類別的類別,其具有實體容器之命名空間限定名稱 T 型別。 如需詳細資訊,請參閱資料服務 (WCF Data Services)

  3. 設定資料服務

    根據預設,WCF Data Services 會停用實體容器所公開的資源存取。 DataServiceConfiguration 介面可讓您設定對資源和服務作業的存取、指定支援的 OData 版本,以及定義其他整個服務的行為 (例如,批次行為或在單一回應摘要中可傳回的最大實體數目)。 如需詳細資訊,請參閱設定資料服務 (WCF Data Services)

本主題主要涵蓋如何使用 Visual Studio 開發和部署資料服務。 如需 WCF Data Services 針對公開資料做為 OData 摘要所提供之彈性的詳細資訊,請參閱資料服務 (WCF Data Services)

選擇開發 Web 伺服器

當您使用 Visual Studio 開發 WCF Data Services 做為 ASP.NET 應用程式或 ASP.NET 網站時,可以選擇在開發期間執行資料服務所使用的 Web 伺服器。 以下的 Web 伺服器整合 Visual Studio,讓它更容易針對本機電腦上的資料服務進行測試和偵錯。

  1. 本機 IIS 伺服器

    當您建立屬於 ASP.NET 應用程式或在 Internet Information Services (IIS) 上執行之 ASP.NET 網站的資料服務時,建議您使用本機電腦上的 IIS 對您的資料服務進行開發和測試。 在 IIS 上執行資料服務時,更容易在偵錯期間追蹤 HTTP 要求。 這也讓您預先決定 IIS 用來存取資料服務所需之檔案、資料庫和其他資源時所需的必要權限。 若要在 IIS 上執行資料服務,您必須確認 IIS 和 Windows Communication Foundation (WCF) 都已正確安裝並設定,並授予 IIS 帳戶在檔案系統和資料庫中的存取權。 如需詳細資訊,請參閱 HOW TO:開發在 IIS 上執行的 WCF Data Service

    注意

    您必須使用系統管理員權限執行 Visual Studio,才能讓開發環境設定本機 IIS 伺服器。

  2. Visual Studio 程式開發伺服器

    Visual Studio 包括內建的 Web 伺服器、Visual Studio 程式開發伺服器,也就是 ASP.NET 專案的預設 Web 伺服器。 這個 Web 伺服器是為了在開發期間於本機電腦上執行 ASP.NET 專案而設計。 WCF Data Services 快速入門會示範如何建立在 Visual Studio 程式開發伺服器上執行的資料服務。

    當您使用 Visual Studio 程式開發伺服器開發資料服務時,您應該要注意下列限制:

    • 只能在本機電腦上存取這個伺服器。

    • 此伺服器會接聽 localhost 和一個特定的連接埠 (而非連接埠 80),此連接埠是用於 HTTP 訊息的預設連接埠。 如需詳細資訊,請參閱 Web Servers in Visual Studio for ASP.NET Web Projects

    • 此伺服器會在目前使用者帳戶的內容中執行資料服務。 例如,如果您要以系統管理員層級的使用者身分執行,在 Visual Studio 程式開發伺服器中執行的資料服務將具備系統管理員層級的權限。 這可能會使資料服務能夠存取在部署到 IIS 伺服器時沒有存取權限的資源。

    • 這個伺服器不包含 IIS 的額外功能,例如驗證。

    • 此伺服器無法處理區塊式 HTTP 資料流,從資料服務存取大型二進位資料時,WCF Data Services 用戶端預設會傳送這個資料流。 如需詳細資訊,請參閱資料流處理提供者 (WCF Data Services)

    • 此伺服器在處理 URL 中的句點 (.) 字元時會出現問題 (即使 WCF Data Services 在索引鍵值中支援這個字元)。

    提示

    雖然您可以在開發期間使用 Visual Studio 程式開發伺服器測試資料服務,您都應該在部署到執行 IIS 的 Web 伺服器之後,再次進行測試。

  3. Windows Azure 開發環境

    用於 Visual Studio 的 Windows Azure Tools 包括一組整合的工具,可用來在 Visual Studio 中開發 Windows Azure 服務。 您可以使用這些工具開發可以部署到 Windows Azure 的資料服務,並在部署之前,先在本機電腦上測試資料服務。 使用 Visual Studio 開發在 Windows Azure 平台上執行的資料服務時,請使用這些工具。 您可以從 Microsoft 下載中心下載適用於 Visual Studio 的 Windows Azure 工具。 如需詳細資訊 開發在 Windows Azure 上執行之資料服務的詳細資訊,請參閱文章在 Windows Azure 中部署 OData 服務

開發秘訣

當您開發資料服務時,應該考慮下列事項:

  • 如果您計劃驗證使用者或限制特定使用者存取,請決定您資料服務的安全性需求。 如需詳細資訊,請參閱保護 WCF Data Services 的安全

  • 透過讓您檢查要求和回應訊息的內容對資料服務進行偵錯時,HTTP 檢查程式可能會很有幫助。 可以顯示原始封包的任何網路封包分析器可用於檢查資料服務的 HTTP 要求及其回應。

  • 對資料服務進行偵錯時,可能比正常作業期間更想要從資料服務取得有關錯誤的詳細資訊。 您可以從資料服務取得其他錯誤資訊,方法是,將 DataServiceConfiguration 中的 UseVerboseErrors 屬性 (Property) 設為 true,然後在資料服務類別上,將 ServiceDebugBehavior 屬性 (Attribute) 的 IncludeExceptionDetailInFaults 屬性 (Property) 設為 true。 如需詳細資訊,請參閱文章偵錯 WCF Data Services。 您也可以在 WCF 中啟用追蹤來檢視在 HTTP 訊息層引發的例外狀況。 如需詳細資訊,請參閱Configuring Tracing

  • 資料服務通常會開發為 ASP.NET 應用程式專案,但是您也可以建立您的資料服務做為 Visual Studio 中的 ASP.NET 網站專案。 如需這些兩種專案類型之差異的詳細資訊,請參閱 Web Application Projects versus Web Site Projects

  • 當您使用 Visual Studio 中的 [加入新項目] 對話方塊建立資料服務時,資料服務是由 IIS 中的 ASP.NET 裝載。 ASP.NET 和 IIS 是資料服務的預設主機,因此支援其他裝載選項。 如需詳細資訊,請參閱裝載資料服務 (WCF Data Services)

部署 WCF Data Services

WCF Data Services 提供選擇裝載資料服務之程序的彈性。 您可以使用 Visual Studio 將資料服務部署到下列平台:

部署考量因素

部署資料服務時,應該考慮下列事項:

  • 當您部署使用 Entity Framework 提供者存取 SQL Server 資料庫的資料服務時,可能也需要使用資料服務部署傳播資料結構、資料或兩者。 Visual Studio 可以自動建立指令碼 (.sql 檔),在目的資料庫中進行這項處理,而且這些指令碼可併入 ASP.NET 應用程式的 Web 部署套件中。 如需詳細資訊,請參閱 How to: Deploy a Database With a Web Application Project。 如果是 ASP.NET 網站,則您可以使用 Visual Studio 中的 [資料庫發行精靈] 來進行這項操作。 如需詳細資訊,請參閱Deploying a Database by Using the Database Publishing Wizard

  • WCF Data Services 包含基本的 WCF 實作,因此您可以使用 Windows Server AppFabric 監視部署至在 Windows Server 上執行之 IIS 的資料服務。 如需詳細資訊 使用 Windows Server AppFabric 監視資料服務的詳細資訊,請參閱文章使用 Windows Server AppFabric 追蹤 WCF Data Services

請參閱

概念

裝載資料服務 (WCF Data Services)

保護 WCF Data Services 的安全

其他資源

資料服務 (WCF Data Services)