Přidání odkazu služby v přenosném dílčím projektu
Přenosné projekty podmnožina umožňují programátorům sestavení .NET udržovat jeden zdrojový strom a systém sestavení a současně podporovat více implementací .NET (desktop, Silverlight, Windows Telefon a Xbox). Přenosné projekty podmnožina odkazují pouze na přenosné knihovny, které jsou sestavení .NET, která lze použít v jakékoli implementaci .NET.
Přidání podrobností o referenčních informacích o službě
Při přidávání odkazu na službu v přenosném projektu podmnožina se vynucují následující omezení:
Pro XmlSerializer, jsou povoleny pouze literály kódování. Kódování SOAP generuje chybu při importu.
Pro služby, které používají DataContractSerializer scénáře, je poskytována náhradní smlouva dat, aby se zajistilo, že opakovaně používané typy pocházejí pouze z přenosné podmnožina.
Koncové body, které se spoléhají na vazby nepodporované v přenosných knihovnách (všechny vazby s výjimkou BasicHttpBinding, WSHttpBinding bez toku transakcí, spolehlivých relací nebo kódování MTOM a ekvivalentních vlastních vazeb), se ignorují.
Záhlaví zpráv se před importem odstraní ze všech popisů zpráv ve všech operacích.
Nepřenosné atributy DesignerCategoryAttribute, SerializableAttributea TransactionFlowAttribute jsou odebrány z vygenerovaného kódu proxy klienta.
Nepřenosných vlastností ProtectionLevel, SessionMode, IsInitiating, IsTerminating jsou odebrány z ServiceContractAttribute, OperationContractAttributea FaultContractAttribute.
Všechny operace služby se generují jako asynchronní operace na klientském proxy serveru.
Vygenerované konstruktory klienta, které používají nepřenosných typů, jsou odebrány.
Instance CookieContainer je vystavena vygenerovaném klientovi.
Do horní části souboru se vloží komentář identifikující sestavení a verzi generátoru kódu:
// This code was auto-generated by Microsoft.VisualStudio.Portable.AddServiceReference, version 1.0.0.0
Rozhraní ISerializable není podporováno.
Vazby Net.Tcp a PollingDuplex nejsou podporovány.
Vždy DataContractSerializer se bude používat pro chyby.
IsWrapped nepodporuje se v přenosných podmnožině projektů.