Menambahkan Referensi Layanan dalam Project Subset Portabel

Proyek subset portabel memungkinkan pemrogram perakitan .NET untuk mempertahankan pohon sumber tunggal dan sistem build sambil tetap mendukung beberapa implementasi .NET (desktop, Silverlight, Windows Phone, dan Xbox). Proyek subset portabel hanya mereferensikan pustaka portabel yang merupakan rakitan .NET yang dapat digunakan pada implementasi .NET apa pun.

Menambahkan Detail Referensi Layanan

Saat menambahkan referensi layanan dalam proyek subset portabel, pembatasan berikut diberlakukan:

  • Untuk XmlSerializer, hanya pengodean harfiah yang diizinkan. Pengodean SOAP menghasilkan kesalahan selama impor.

  • Untuk layanan yang menggunakan DataContractSerializer skenario, pengganti kontrak data disediakan untuk memastikan bahwa jenis yang digunakan kembali hanya berasal dari subset portabel.

  • Titik akhir yang mengandalkan pengikatan yang tidak didukung di pustaka portabel (semua pengikatan kecuali BasicHttpBinding, WSHttpBinding tanpa aliran transaksi, sesi yang andal, atau pengodean MTOM, dan pengikatan kustom yang setara) diabaikan.

  • Header pesan dihapus dari semua deskripsi pesan di semua operasi sebelum diimpor.

  • DesignerCategoryAttributeAtribut non-portabel, SerializableAttribute, dan TransactionFlowAttribute dihapus dari kode proksi klien yang dihasilkan.

  • Properti non-portabel ProtectionLevel, SessionMode, IsInitiating, IsTerminating dihapus dari ServiceContractAttribute, OperationContractAttribute, dan FaultContractAttribute.

  • Semua operasi layanan dihasilkan sebagai operasi asinkron pada proxy klien.

  • Konstruktor klien yang dihasilkan yang menggunakan jenis non-portabel dihapus.

  • CookieContainer Instans diekspos pada klien yang dihasilkan.

  • Komentar disisipkan di bagian atas file yang mengidentifikasi perakitan dan versi generator kode:// This code was auto-generated by Microsoft.VisualStudio.Portable.AddServiceReference, version 1.0.0.0

  • ISerializable Antarmuka tidak didukung.

  • Pengikatan Net.Tcp dan PollingDuplex tidak didukung

  • DataContractSerializer akan selalu digunakan untuk kesalahan.

  • IsWrapped tidak didukung dalam proyek subset portabel.

Lihat juga