將服務參考加入至可攜式子集專案
可攜子集專案能讓 .NET 組件程式設計師維護單一來源的樹狀目錄與建置系統,同時仍支援多個 .NET 實作 (桌上型電腦、Silverlight、Windows Phone 和 Xbox)。 可攜子集專案唯一參考的 .NET 可攜程式庫為適用於任何 .NET 實作的組件。
加入服務參考詳細資料
在可攜子集專案中新增服務參考時,會強制執行下列限制:
XmlSerializer 只能使用常值編碼。 SOAP 編碼會在匯出期間產生錯誤。
對於使用 DataContractSerializer 案例的服務,會提供資料合約 Surrogate 以確保重複使用的型別只能來自可攜式子集。
可攜式程式庫不支援需要依賴繫結程序的端點 (所有繫結程序,但是不包括 BasicHttpBinding、沒有異動流程的 WSHttpBinding、可靠工作階段或 MTOM 編碼和對等的自訂繫結程序),將會被忽略。
在匯出之前,會刪除所有作業中全部訊息描述之訊息標頭。
會從產生的用戶端 Proxy 程式碼中移除非可攜式屬性 DesignerCategoryAttribute、SerializableAttribute 和 TransactionFlowAttribute。
會從 ServiceContractAttribute、OperationContractAttribute 和 FaultContractAttribute 中移除非可攜式屬性 ProtectionLevel、SessionMode、IsInitiating 和 IsTerminating。
所有服務作業都會產生為用戶端 Proxy 上的非同步作業。
會將所產生且使用非可攜式型別的用戶端建構函式移除。
CookieContainer 執行個體會在產生的用戶端上公開。
會在識別程式碼產生器組件及版本的檔案頂端插入註解:
// This code was auto-generated by Microsoft.VisualStudio.Portable.AddServiceReference, version 1.0.0.0
不支援 ISerializable 介面。
不支援 Net.Tcp 和 PollingDuplex 繫結
永遠使用 DataContractSerializer 處理錯誤。
在可攜式子集專案中不支援 IsWrapped。