Aggiungere un riferimento al servizio in un progetto di subset portabili
I progetti di subset portabili consentono ai programmatori di assembly .NET di gestire un unico albero di origine e di compilare il sistema supportando allo stesso tempo più implementazioni .NET (desktop, Silverlight, Windows Phone e Xbox). I progetti subset portabili fanno riferimento solo a librerie portabili che sono assembly .NET che possono essere usati in qualsiasi implementazione .NET.
Quando si aggiunge un riferimento al servizio in un progetto di subset portabili, si applicano le limitazioni seguenti:
Per l'oggetto XmlSerializer sono consentite solo le codifiche letterali. Le codifiche SOAP generano un errore durante l'importazione.
Per i servizi che utilizzano gli scenari DataContractSerializer, viene fornito un surrogato del contratto dati per assicurarsi che i tipi riutilizzati provengano solo dal subset portabile.
Gli endpoint che si basano su associazioni non supporte nelle librerie portabili (tutte le associazioni tranne BasicHttpBinding, l'oggetto WSHttpBinding senza flusso di transazione, le sessioni affidabili o la codifica MTOM e le associazioni personalizzate equivalenti) vengono ignorati.
Le intestazioni dei messaggi vengono eliminate da tutte le descrizioni dei messaggi in tutte le operazioni prima dell'importazione.
Gli attributi non portabili DesignerCategoryAttribute, SerializableAttribute e TransactionFlowAttribute vengono rimossi dal codice del proxy client generato.
Le proprietà non portabili ProtectionLevel, SessionMode, IsInitiating, IsTerminating vengono rimosse dagli oggetti ServiceContractAttribute, OperationContractAttribute e FaultContractAttribute.
Tutte le operazioni del servizio vengono create come operazioni asincrone nel proxy client.
I costruttori client generati che utilizzano i tipi non portabili vengono rimossi.
Un'istanza dell'oggetto CookieContainer viene esposta nel client generato.
All'inizio del file viene inserito un commento che identifica l'assembly e la versione del generatore di codice:
// This code was auto-generated by Microsoft.VisualStudio.Portable.AddServiceReference, version 1.0.0.0
L'interfaccia ISerializable non è supportata.
Le associazioni Net.Tcp e PollingDuplex non sono supportate
L'oggetto DataContractSerializer verrà sempre utilizzato per gli errori.
La proprietà IsWrapped non è supportata nei progetti di subset portabili.