採用 Windows Communication Foundation
您可以選擇使用 Windows Communication Foundation (WCF) 開發新項目,同時繼續維護使用 ASP.NET 開發的現有應用程式。 由於 WCF 是任何情況下使用以 .NET Framework 建置之應用程式簡化通訊最適合的選擇,因此,它可以當做標準工具,以 ASP.NET 無法使用的方式,來解決各種軟體通訊問題。
可以在與現有 ASP.NET Web 服務相同的電腦上部署新的 WCF 應用程式。 如果現有的 ASP.NET Web 服務使用的 .NET Framework 版本早於 2.0 版,則您可以使用 ASP.NET IIS 註冊工具,將 .NET Framework 2.0 選擇性地部署至要裝載的新 WCF 應用程式的 IIS 應用程式。 此工具記載於 ASP.NET IIS 註冊工具 (Aspnet_regiis.exe)中,並具有內建於 IIS 6.0 管理控制台的使用者介面。
WCF 可用來將新功能新增至現有的 ASP.NET Web 服務中,方法是將設定在 ASP.NET 相容性模式下執行的服務新增至 IIS 中現有的 ASP.NET Web 服務應用程式。 由於 ASP.NET 相容性模式的緣故,新 WCF 服務的程式碼現在可以使用 HttpContext 類別,存取與更新與預先存在的 ASP.NET 程式碼相同的應用程式狀態資訊。 應用程式也可以共用相同的類別庫。
WCF 用戶端可以使用 ASP.NET Web 服務。 ASP.NET Web 服務用戶端可以使用 BasicHttpBinding 設定的 WCF 服務。 ASP.NET Web 服務可以與 WCF 應用程式並存,甚至可以使用 WCF 將功能新增至現有的 ASP.NET Web 服務。 假設這些所有方式都能夠與 WCF 和 ASP.NET Web 服務一起使用,則只有在您需要 WCF (而非 ASP.NET Web 服務) 所提供的功能時,才能將 ASP.NET Web 服務移轉至 WCF。
即使是在少數必要的情況下,將程式碼在兩個技術之間移轉也不見得是正確的方法。 採用新技術的原因在於符合使用稍早技術無法滿足的新需求,在該情況下,正確的做法是設計新的解決方案以符合一組新擴展的需求。 新設計的優點在於採用現有系統的經驗,以及設計該系統以來所獲取的智慧。 新設計也可以使用新技術的完整功能,而不必在新平台上重現舊設計。 製作新設計主要元素的原型之後,在新系統中重複使用現有系統的程式碼就會變得更容易。