Silverlight 5 WinRT

  abstract sealed class MetadataStrings
 

  abstract sealed class Xml
 

  abstract sealed class Wsu
 

  abstract sealed class WSPolicy
 

  public class CallbackDebugBehavior
  : IEndpointBehavior
  public Boolean IncludeExceptionDetailInFaults { get; set; }

public class ClientCredentials public class ClientCredentials
: IEndpointBehavior : SecurityCredentialsManager, IEndpointBehavior
  public X509CertificateInitiatorClientCredential ClientCertificate { get; }
  public HttpDigestClientCredential HttpDigest { get; }
  public IssuedTokenClientCredential IssuedToken { get; }
  public PeerCredential Peer { get; }
  public SecurityTokenHandlerCollectionManager SecurityTokenHandlerCollectionManager { get; set; }
  public X509CertificateRecipientClientCredential ServiceCertificate { get; }
  public Boolean SupportInteractive { get; set; }
  public Boolean UseIdentityConfiguration { get; set; }
public UserNamePasswordClientCredential UserName { get; } public UserNamePasswordClientCredential UserName { get; }
  public WindowsClientCredential Windows { get; }
  public virtual void ApplyClientBehavior(ServiceEndpoint serviceEndpoint, ClientRuntime behavior);
public ClientCredentials Clone(); public ClientCredentials Clone();
  protected virtual ClientCredentials CloneCore();
  public virtual SecurityTokenManager CreateSecurityTokenManager();

  public class ClientViaBehavior
  : IEndpointBehavior
  public Uri Uri { get; set; }

public class ContractDescription public class ContractDescription
public KeyedByTypeCollection`1<IContractBehavior> Behaviors { get; } public KeyedByTypeCollection`1<IContractBehavior> Behaviors { get; }
public Type CallbackContractType { get; set; } public Type CallbackContractType { get; set; }
public String ConfigurationName { get; set; } public String ConfigurationName { get; set; }
  public KeyedCollection`2<Type, IContractBehavior> ContractBehaviors { get; }
public Type ContractType { get; set; } public Type ContractType { get; set; }
  public Boolean HasProtectionLevel { get; }
public String Name { get; set; } public String Name { get; set; }
public String Namespace { get; set; } public String Namespace { get; set; }
public OperationDescriptionCollection Operations { get; } public OperationDescriptionCollection Operations { get; }
  public ProtectionLevel ProtectionLevel { get; set; }
  public SessionMode SessionMode { get; set; }
  static public ContractDescription GetContract(Type contractType);
  static public ContractDescription GetContract(Type contractType, Type serviceType);
  static public ContractDescription GetContract(Type contractType, Object serviceImplementation);
  public Collection`1<ContractDescription> GetInheritedContracts();

  public class DataContractSerializerMessageContractImporter
  : IWsdlImportExtension
  public Boolean Enabled { get; set; }

  public class DataContractSerializerOperationBehavior
  : IOperationBehavior, IWsdlExportExtension
  public DataContractFormatAttribute DataContractFormatAttribute { get; }
  public DataContractResolver DataContractResolver { get; set; }
  public IDataContractSurrogate DataContractSurrogate { get; set; }
  public Boolean IgnoreExtensionDataObject { get; set; }
  public Int32 MaxItemsInObjectGraph { get; set; }
  public virtual XmlObjectSerializer CreateSerializer(Type type, String name, String ns, IList`1<Type> knownTypes);
  public virtual XmlObjectSerializer CreateSerializer(Type type, XmlDictionaryString name, XmlDictionaryString ns, IList`1<Type> knownTypes);

  public class DispatcherSynchronizationBehavior
  : IEndpointBehavior
  public Boolean AsynchronousSendEnabled { get; set; }
  public Int32 MaxPendingReceives { get; set; }

public class FaultDescription public class FaultDescription
public String Action { get; } public String Action { get; set; }
public Type DetailType { get; set; } public Type DetailType { get; set; }
  public Boolean HasProtectionLevel { get; }
public String Name { get; set; } public String Name { get; set; }
public String Namespace { get; set; } public String Namespace { get; set; }
  public ProtectionLevel ProtectionLevel { get; set; }

public class FaultDescriptionCollection public class FaultDescriptionCollection
: Collection`1<FaultDescription>, IList`1<FaultDescription>, ICollection`1<FaultDescription>, IEnumerable`1<FaultDescription>, IEnumerable, IList, ICollection : Collection`1<FaultDescription>, IList`1<FaultDescription>, ICollection`1<FaultDescription>, IEnumerable`1<FaultDescription>, IEnumerable, IList, ICollection, IReadOnlyList`1<FaultDescription>
  public FaultDescription Find(String action);

public abstract interface IContractBehavior public abstract interface IContractBehavior
public abstract virtual void AddBindingParameters(ContractDescription contractDescription, ServiceEndpoint endpoint, BindingParameterCollection bindingParameters); public abstract virtual void AddBindingParameters(ContractDescription contractDescription, ServiceEndpoint endpoint, BindingParameterCollection bindingParameters);
public abstract virtual void ApplyClientBehavior(ContractDescription contractDescription, ServiceEndpoint endpoint, ClientRuntime clientRuntime); public abstract virtual void ApplyClientBehavior(ContractDescription contractDescription, ServiceEndpoint endpoint, ClientRuntime clientRuntime);
public abstract virtual void ApplyDispatchBehavior(ContractDescription contractDescription, ServiceEndpoint endpoint, DispatchRuntime dispatchRuntime); public abstract virtual void ApplyDispatchBehavior(ContractDescription contractDescription, ServiceEndpoint endpoint, DispatchRuntime dispatchRuntime);
public abstract virtual void Validate(ContractDescription contractDescription, ServiceEndpoint endpoint); public abstract virtual void Validate(ContractDescription contractDescription, ServiceEndpoint endpoint);

  public abstract interface IContractBehaviorAttribute
 
  public abstract virtual Type TargetContract { get; }

public abstract interface IEndpointBehavior public abstract interface IEndpointBehavior
public abstract virtual void AddBindingParameters(ServiceEndpoint endpoint, BindingParameterCollection bindingParameters); public abstract virtual void AddBindingParameters(ServiceEndpoint endpoint, BindingParameterCollection bindingParameters);
public abstract virtual void ApplyClientBehavior(ServiceEndpoint endpoint, ClientRuntime clientRuntime); public abstract virtual void ApplyClientBehavior(ServiceEndpoint endpoint, ClientRuntime clientRuntime);
public abstract virtual void ApplyDispatchBehavior(ServiceEndpoint endpoint, EndpointDispatcher endpointDispatcher); public abstract virtual void ApplyDispatchBehavior(ServiceEndpoint endpoint, EndpointDispatcher endpointDispatcher);
public abstract virtual void Validate(ServiceEndpoint endpoint); public abstract virtual void Validate(ServiceEndpoint endpoint);

  public abstract interface IMetadataExchange
 
  public abstract virtual IAsyncResult BeginGet(Message request, AsyncCallback callback, Object state);
  public abstract virtual Message EndGet(IAsyncResult result);
  public abstract virtual Message Get(Message request);

public abstract interface IOperationBehavior public abstract interface IOperationBehavior
public abstract virtual void AddBindingParameters(OperationDescription operationDescription, BindingParameterCollection bindingParameters); public abstract virtual void AddBindingParameters(OperationDescription operationDescription, BindingParameterCollection bindingParameters);
public abstract virtual void ApplyClientBehavior(OperationDescription operationDescription, ClientOperation clientOperation); public abstract virtual void ApplyClientBehavior(OperationDescription operationDescription, ClientOperation clientOperation);
public abstract virtual void ApplyDispatchBehavior(OperationDescription operationDescription, DispatchOperation dispatchOperation); public abstract virtual void ApplyDispatchBehavior(OperationDescription operationDescription, DispatchOperation dispatchOperation);
public abstract virtual void Validate(OperationDescription operationDescription); public abstract virtual void Validate(OperationDescription operationDescription);

  public abstract interface IOperationContractGenerationExtension
 
  public abstract virtual void GenerateOperation(OperationContractGenerationContext context);

  public abstract interface IPolicyExportExtension
 
  public abstract virtual void ExportPolicy(MetadataExporter exporter, PolicyConversionContext context);

  public abstract interface IPolicyImportExtension
 
  public abstract virtual void ImportPolicy(MetadataImporter importer, PolicyConversionContext context);

  public abstract interface IServiceBehavior
 
  public abstract virtual void AddBindingParameters(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase, Collection`1<ServiceEndpoint> endpoints, BindingParameterCollection bindingParameters);
  public abstract virtual void ApplyDispatchBehavior(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase);
  public abstract virtual void Validate(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase);

  public abstract interface IServiceContractGenerationExtension
 
  public abstract virtual void GenerateContract(ServiceContractGenerationContext context);

  public abstract interface IWsdlExportExtension
 
  public abstract virtual void ExportContract(WsdlExporter exporter, WsdlContractConversionContext context);
  public abstract virtual void ExportEndpoint(WsdlExporter exporter, WsdlEndpointConversionContext context);

  public abstract interface IWsdlImportExtension
 
  public abstract virtual void BeforeImport(ServiceDescriptionCollection wsdlDocuments, XmlSchemaSet xmlSchemas, ICollection`1<XmlElement> policy);
  public abstract virtual void ImportContract(WsdlImporter importer, WsdlContractConversionContext context);
  public abstract virtual void ImportEndpoint(WsdlImporter importer, WsdlEndpointConversionContext context);

  public sealed enum ListenUriMode
  : IComparable, IFormattable, IConvertible
  { Explicit, Unique }

public class MessageBodyDescription public class MessageBodyDescription
public MessagePartDescriptionCollection Parts { get; } public MessagePartDescriptionCollection Parts { get; }
public MessagePartDescription ReturnValue { get; set; } public MessagePartDescription ReturnValue { get; set; }
public String WrapperName { get; set; } public String WrapperName { get; set; }
public String WrapperNamespace { get; set; } public String WrapperNamespace { get; set; }

public class MessageDescription public class MessageDescription
public String Action { get; } public String Action { get; set; }
public MessageBodyDescription Body { get; } public MessageBodyDescription Body { get; }
public MessageDirection Direction { get; } public MessageDirection Direction { get; }
  public Boolean HasProtectionLevel { get; }
  public MessageHeaderDescriptionCollection Headers { get; }
public Type MessageType { get; set; } public Type MessageType { get; set; }
  public MessagePropertyDescriptionCollection Properties { get; }
  public ProtectionLevel ProtectionLevel { get; set; }

public class MessageDescriptionCollection public class MessageDescriptionCollection
: Collection`1<MessageDescription>, IList`1<MessageDescription>, ICollection`1<MessageDescription>, IEnumerable`1<MessageDescription>, IEnumerable, IList, ICollection : Collection`1<MessageDescription>, IList`1<MessageDescription>, ICollection`1<MessageDescription>, IEnumerable`1<MessageDescription>, IEnumerable, IList, ICollection, IReadOnlyList`1<MessageDescription>
public MessageDescription Find(String action); public MessageDescription Find(String action);
public Collection`1<MessageDescription> FindAll(String action); public Collection`1<MessageDescription> FindAll(String action);

  sealed class MessageContractExporter
 
  public virtual Boolean Equals(Object obj);
  public virtual Int32 GetHashCode();

public sealed enum MessageDirection public sealed enum MessageDirection
: IComparable, IFormattable, IConvertible : IComparable, IFormattable, IConvertible
{ Input, Output } { Input, Output }

  class MessageContractExporter
 

  public class MessageHeaderDescription
  : MessagePartDescription
  public String Actor { get; set; }
  public Boolean MustUnderstand { get; set; }
  public Boolean Relay { get; set; }
  public Boolean TypedHeader { get; set; }

  public class MessageHeaderDescriptionCollection
  : KeyedCollection`2<XmlQualifiedName, MessageHeaderDescription>, IList`1<MessageHeaderDescription>, ICollection`1<MessageHeaderDescription>, IEnumerable`1<MessageHeaderDescription>, IEnumerable, IList, ICollection, IReadOnlyList`1<MessageHeaderDescription>
  protected virtual XmlQualifiedName GetKeyForItem(MessageHeaderDescription item);

public class MessagePartDescription public class MessagePartDescription
  public Boolean HasProtectionLevel { get; }
public Int32 Index { get; set; } public Int32 Index { get; set; }
public MemberInfo MemberInfo { get; set; } public MemberInfo MemberInfo { get; set; }
  public Boolean Multiple { get; set; }
public String Name { get; } public String Name { get; }
public String Namespace { get; } public String Namespace { get; }
  public ProtectionLevel ProtectionLevel { get; set; }
public Type Type { get; set; } public Type Type { get; set; }

public class MessagePartDescriptionCollection public class MessagePartDescriptionCollection
: KeyedCollection`2<XmlQualifiedName, MessagePartDescription>, IList`1<MessagePartDescription>, ICollection`1<MessagePartDescription>, IEnumerable`1<MessagePartDescription>, IEnumerable, IList, ICollection : KeyedCollection`2<XmlQualifiedName, MessagePartDescription>, IList`1<MessagePartDescription>, ICollection`1<MessagePartDescription>, IEnumerable`1<MessagePartDescription>, IEnumerable, IList, ICollection, IReadOnlyList`1<MessagePartDescription>

  public class MessagePropertyDescription
  : MessagePartDescription

  public class MessagePropertyDescriptionCollection
  : KeyedCollection`2<String, MessagePropertyDescription>, IList`1<MessagePropertyDescription>, ICollection`1<MessagePropertyDescription>, IEnumerable`1<MessagePropertyDescription>, IEnumerable, IList, ICollection, IReadOnlyList`1<MessagePropertyDescription>
  protected virtual String GetKeyForItem(MessagePropertyDescription item);

abstract sealed class MetadataStrings+MetadataExchangeStrings  
 

  public class MetadataConversionError
 
  public Boolean IsWarning { get; }
  public String Message { get; }
  public virtual Boolean Equals(Object obj);
  public virtual Int32 GetHashCode();

  public abstract sealed class MetadataExchangeBindings
 
  static public Binding CreateMexHttpBinding();
  static public Binding CreateMexHttpsBinding();
  static public Binding CreateMexNamedPipeBinding();
  static public Binding CreateMexTcpBinding();

  public class MetadataExchangeClient
 
  public ICredentials HttpCredentials { get; set; }
  public Int32 MaximumResolvedReferences { get; set; }
  public TimeSpan OperationTimeout { get; set; }
  public Boolean ResolveMetadataReferences { get; set; }
  public ClientCredentials SoapCredentials { get; set; }
  public IAsyncResult BeginGetMetadata(AsyncCallback callback, Object asyncState);
  public IAsyncResult BeginGetMetadata(Uri address, MetadataExchangeClientMode mode, AsyncCallback callback, Object asyncState);
  public IAsyncResult BeginGetMetadata(EndpointAddress address, AsyncCallback callback, Object asyncState);
  public MetadataSet EndGetMetadata(IAsyncResult result);
  internal protected virtual ChannelFactory`1<IMetadataExchange> GetChannelFactory(EndpointAddress metadataAddress, String dialect, String identifier);
  public MetadataSet GetMetadata();
  public MetadataSet GetMetadata(Uri address, MetadataExchangeClientMode mode);
  public MetadataSet GetMetadata(EndpointAddress address);
  public MetadataSet GetMetadata(EndpointAddress address, Uri via);
  public Task`1<MetadataSet> GetMetadataAsync();
  public Task`1<MetadataSet> GetMetadataAsync(Uri address, MetadataExchangeClientMode mode);
  public Task`1<MetadataSet> GetMetadataAsync(EndpointAddress address);
  public Task`1<MetadataSet> GetMetadataAsync(EndpointAddress address, Uri via);
  internal protected virtual HttpWebRequest GetWebRequest(Uri location, String dialect, String identifier);

  public sealed enum MetadataExchangeClientMode
  : IComparable, IFormattable, IConvertible
  { MetadataExchange, HttpGet }

  public abstract class MetadataExporter
 
  public Collection`1<MetadataConversionError> Errors { get; }
  public PolicyVersion PolicyVersion { get; set; }
  public Dictionary`2<Object, Object> State { get; }
  public abstract virtual void ExportContract(ContractDescription contract);
  public abstract virtual void ExportEndpoint(ServiceEndpoint endpoint);
  internal protected PolicyConversionContext ExportPolicy(ServiceEndpoint endpoint);
  public abstract virtual MetadataSet GetGeneratedMetadata();

  public abstract class MetadataImporter
 
  public Collection`1<MetadataConversionError> Errors { get; }
  public Dictionary`2<XmlQualifiedName, ContractDescription> KnownContracts { get; }
  public KeyedByTypeCollection`1<IPolicyImportExtension> PolicyImportExtensions { get; }
  public Dictionary`2<Object, Object> State { get; }
  public abstract virtual Collection`1<ContractDescription> ImportAllContracts();
  public abstract virtual ServiceEndpointCollection ImportAllEndpoints();

  public sealed class MetadataImporterQuotas
 
  static public MetadataImporterQuotas Defaults { get; }
  static public MetadataImporterQuotas Max { get; }

  public class MetadataLocation
 
  public String Location { get; set; }

  abstract sealed class Addressing10
 

  public class MetadataReference
  : IXmlSerializable
  public EndpointAddress Address { get; set; }
  public AddressingVersion AddressVersion { get; set; }

  public abstract sealed class MetadataResolver
 
  static public IAsyncResult BeginResolve(Type contract, EndpointAddress address, AsyncCallback callback, Object asyncState);
  static public IAsyncResult BeginResolve(IEnumerable`1<ContractDescription> contracts, EndpointAddress address, AsyncCallback callback, Object asyncState);
  static public IAsyncResult BeginResolve(IEnumerable`1<ContractDescription> contracts, EndpointAddress address, MetadataExchangeClient client, AsyncCallback callback, Object asyncState);
  static public IAsyncResult BeginResolve(Type contract, Uri address, MetadataExchangeClientMode mode, AsyncCallback callback, Object asyncState);
  static public IAsyncResult BeginResolve(IEnumerable`1<ContractDescription> contracts, Uri address, MetadataExchangeClientMode mode, AsyncCallback callback, Object asyncState);
  static public IAsyncResult BeginResolve(IEnumerable`1<ContractDescription> contracts, Uri address, MetadataExchangeClientMode mode, MetadataExchangeClient client, AsyncCallback callback, Object asyncState);
  static public ServiceEndpointCollection EndResolve(IAsyncResult result);
  static public ServiceEndpointCollection Resolve(Type contract, EndpointAddress address);
  static public ServiceEndpointCollection Resolve(IEnumerable`1<ContractDescription> contracts, EndpointAddress address);
  static public ServiceEndpointCollection Resolve(IEnumerable`1<ContractDescription> contracts, EndpointAddress address, MetadataExchangeClient client);
  static public ServiceEndpointCollection Resolve(Type contract, Uri address, MetadataExchangeClientMode mode);
  static public ServiceEndpointCollection Resolve(IEnumerable`1<ContractDescription> contracts, Uri address, MetadataExchangeClientMode mode);
  static public ServiceEndpointCollection Resolve(IEnumerable`1<ContractDescription> contracts, Uri address, MetadataExchangeClientMode mode, MetadataExchangeClient client);

  public class MetadataSection
 
  public Collection`1<XmlAttribute> Attributes { get; }
  public String Dialect { get; set; }
  public String Identifier { get; set; }
  public Object Metadata { get; set; }
  static public String MetadataExchangeDialect { get; }
  static public String PolicyDialect { get; }
  static public String ServiceDescriptionDialect { get; }
  static public String XmlSchemaDialect { get; }
  static public MetadataSection CreateFromPolicy(XmlElement policy, String identifier);
  static public MetadataSection CreateFromSchema(XmlSchema schema);
  static public MetadataSection CreateFromServiceDescription(ServiceDescription serviceDescription);

  public class MetadataSet
  : IXmlSerializable
  public Collection`1<XmlAttribute> Attributes { get; }
  public Collection`1<MetadataSection> MetadataSections { get; }
  static public MetadataSet ReadFrom(XmlReader reader);
  public void WriteTo(XmlWriter writer);

  public class MustUnderstandBehavior
  : IEndpointBehavior
  public Boolean ValidateMustUnderstand { get; set; }

  public class OperationContractGenerationContext
 
  public CodeMemberMethod BeginMethod { get; }
  public ServiceContractGenerationContext Contract { get; }
  public CodeTypeDeclaration DeclaringType { get; }
  public CodeMemberMethod EndMethod { get; }
  public Boolean IsAsync { get; }
  public Boolean IsTask { get; }
  public OperationDescription Operation { get; }
  public ServiceContractGenerator ServiceContractGenerator { get; }
  public CodeMemberMethod SyncMethod { get; }
  public CodeMemberMethod TaskMethod { get; }

public class OperationDescription public class OperationDescription
public MethodInfo BeginMethod { get; set; } public MethodInfo BeginMethod { get; set; }
public KeyedByTypeCollection`1<IOperationBehavior> Behaviors { get; } public KeyedByTypeCollection`1<IOperationBehavior> Behaviors { get; }
public ContractDescription DeclaringContract { get; set; } public ContractDescription DeclaringContract { get; set; }
public MethodInfo EndMethod { get; set; } public MethodInfo EndMethod { get; set; }
public FaultDescriptionCollection Faults { get; } public FaultDescriptionCollection Faults { get; }
  public Boolean HasProtectionLevel { get; }
  public Boolean IsInitiating { get; set; }
public Boolean IsOneWay { get; } public Boolean IsOneWay { get; }
  public Boolean IsTerminating { get; set; }
public Collection`1<Type> KnownTypes { get; } public Collection`1<Type> KnownTypes { get; }
public MessageDescriptionCollection Messages { get; } public MessageDescriptionCollection Messages { get; }
public String Name { get; } public String Name { get; }
  public KeyedCollection`2<Type, IOperationBehavior> OperationBehaviors { get; }
  public ProtectionLevel ProtectionLevel { get; set; }
public MethodInfo SyncMethod { get; set; } public MethodInfo SyncMethod { get; set; }
  public MethodInfo TaskMethod { get; set; }

public class OperationDescriptionCollection public class OperationDescriptionCollection
: Collection`1<OperationDescription>, IList`1<OperationDescription>, ICollection`1<OperationDescription>, IEnumerable`1<OperationDescription>, IEnumerable, IList, ICollection : Collection`1<OperationDescription>, IList`1<OperationDescription>, ICollection`1<OperationDescription>, IEnumerable`1<OperationDescription>, IEnumerable, IList, ICollection, IReadOnlyList`1<OperationDescription>
public OperationDescription Find(String name); public OperationDescription Find(String name);
public Collection`1<OperationDescription> FindAll(String name); public Collection`1<OperationDescription> FindAll(String name);
  protected virtual void InsertItem(Int32 index, OperationDescription item);

  public abstract sealed class ParameterXPathQueryGenerator
 
  static public String CreateFromDataContractSerializer(XName serviceContractName, String operationName, String parameterName, Boolean isReply, Type type, MemberInfo pathToMember, out XmlNamespaceManager& namespaces);

  abstract sealed class Addressing200408
 

  public class PolicyAssertionCollection
  : Collection`1<XmlElement>, IList`1<XmlElement>, ICollection`1<XmlElement>, IEnumerable`1<XmlElement>, IEnumerable, IList, ICollection, IReadOnlyList`1<XmlElement>
  public Boolean Contains(String localName, String namespaceUri);
  public XmlElement Find(String localName, String namespaceUri);
  public Collection`1<XmlElement> FindAll(String localName, String namespaceUri);
  protected virtual void InsertItem(Int32 index, XmlElement item);
  public XmlElement Remove(String localName, String namespaceUri);
  public Collection`1<XmlElement> RemoveAll(String localName, String namespaceUri);
  protected virtual void SetItem(Int32 index, XmlElement item);

  public abstract class PolicyConversionContext
 
  public abstract virtual BindingElementCollection BindingElements { get; }
  public ContractDescription Contract { get; }
  public abstract virtual PolicyAssertionCollection GetBindingAssertions();
  public abstract virtual PolicyAssertionCollection GetFaultBindingAssertions(FaultDescription fault);
  public abstract virtual PolicyAssertionCollection GetMessageBindingAssertions(MessageDescription message);
  public abstract virtual PolicyAssertionCollection GetOperationBindingAssertions(OperationDescription operation);

  public sealed class PolicyVersion
 
  static public PolicyVersion Default { get; }
  public String Namespace { get; }
  static public PolicyVersion Policy12 { get; }
  static public PolicyVersion Policy15 { get; }
  public virtual String ToString();

  public sealed enum PrincipalPermissionMode
  : IComparable, IFormattable, IConvertible
  { None, UseWindowsGroups, UseAspNetRoles, Custom, Always }

  public sealed class ServiceAuthenticationBehavior
  : IServiceBehavior
  public AuthenticationSchemes AuthenticationSchemes { get; set; }
  public ServiceAuthenticationManager ServiceAuthenticationManager { get; set; }
  public Boolean ShouldSerializeAuthenticationSchemes();
  public Boolean ShouldSerializeServiceAuthenticationManager();

  public sealed class ServiceAuthorizationBehavior
  : IServiceBehavior
  public ReadOnlyCollection`1<IAuthorizationPolicy> ExternalAuthorizationPolicies { get; set; }
  public Boolean ImpersonateCallerForAllOperations { get; set; }
  public Boolean ImpersonateOnSerializingReply { get; set; }
  public PrincipalPermissionMode PrincipalPermissionMode { get; set; }
  public RoleProvider RoleProvider { get; set; }
  public ServiceAuthorizationManager ServiceAuthorizationManager { get; set; }
  public Boolean ShouldSerializeExternalAuthorizationPolicies();
  public Boolean ShouldSerializeServiceAuthorizationManager();

  public class ServiceContractGenerationContext
 
  public ContractDescription Contract { get; }
  public CodeTypeDeclaration ContractType { get; }
  public CodeTypeDeclaration DuplexCallbackType { get; }
  public Collection`1<OperationContractGenerationContext> Operations { get; }
  public ServiceContractGenerator ServiceContractGenerator { get; }

  public sealed enum ServiceContractGenerationOptions
  : IComparable, IFormattable, IConvertible
  { None, AsynchronousMethods, ChannelInterface, InternalTypes, ClientClass, TypedMessages, EventBasedAsynchronousMethods, TaskBasedAsynchronousMethod }

  public class ServiceContractGenerator
 
  public Configuration Configuration { get; }
  public Collection`1<MetadataConversionError> Errors { get; }
  public Dictionary`2<String, String> NamespaceMappings { get; }
  public ServiceContractGenerationOptions Options { get; set; }
  public Dictionary`2<ContractDescription, Type> ReferencedTypes { get; }
  public CodeCompileUnit TargetCompileUnit { get; }
  public void GenerateBinding(Binding binding, out String& bindingSectionName, out String& configurationName);
  public CodeTypeReference GenerateServiceContractType(ContractDescription contractDescription);
  public CodeTypeReference GenerateServiceEndpoint(ServiceEndpoint endpoint, out ChannelEndpointElement& channelElement);

  public class ServiceCredentials
  : SecurityCredentialsManager, IServiceBehavior
  public X509CertificateInitiatorServiceCredential ClientCertificate { get; }
  public ExceptionMapper ExceptionMapper { get; set; }
  public IdentityConfiguration IdentityConfiguration { get; set; }
  public IssuedTokenServiceCredential IssuedTokenAuthentication { get; }
  public PeerCredential Peer { get; }
  public SecureConversationServiceCredential SecureConversationAuthentication { get; }
  public X509CertificateRecipientServiceCredential ServiceCertificate { get; }
  public Boolean UseIdentityConfiguration { get; set; }
  public UserNamePasswordServiceCredential UserNameAuthentication { get; }
  public WindowsServiceCredential WindowsAuthentication { get; }
  public ServiceCredentials Clone();
  protected virtual ServiceCredentials CloneCore();
  public virtual SecurityTokenManager CreateSecurityTokenManager();

  public class ServiceDebugBehavior
  : IServiceBehavior
  public Binding HttpHelpPageBinding { get; set; }
  public Boolean HttpHelpPageEnabled { get; set; }
  public Uri HttpHelpPageUrl { get; set; }
  public Binding HttpsHelpPageBinding { get; set; }
  public Boolean HttpsHelpPageEnabled { get; set; }
  public Uri HttpsHelpPageUrl { get; set; }
  public Boolean IncludeExceptionDetailInFaults { get; set; }

  public class ServiceDescription
 
  public KeyedByTypeCollection`1<IServiceBehavior> Behaviors { get; }
  public String ConfigurationName { get; set; }
  public ServiceEndpointCollection Endpoints { get; }
  public String Name { get; set; }
  public String Namespace { get; set; }
  public Type ServiceType { get; set; }
  static public ServiceDescription GetService(Type serviceType);
  static public ServiceDescription GetService(Object serviceImplementation);

public class ServiceEndpoint public class ServiceEndpoint
public EndpointAddress Address { get; set; } public EndpointAddress Address { get; set; }
public KeyedByTypeCollection`1<IEndpointBehavior> Behaviors { get; } public KeyedByTypeCollection`1<IEndpointBehavior> Behaviors { get; }
public Binding Binding { get; set; } public Binding Binding { get; set; }
public ContractDescription Contract { get; } public ContractDescription Contract { get; set; }
  public KeyedCollection`2<Type, IEndpointBehavior> EndpointBehaviors { get; }
  public Boolean IsSystemEndpoint { get; set; }
  public Uri ListenUri { get; set; }
  public ListenUriMode ListenUriMode { get; set; }
public String Name { get; set; } public String Name { get; set; }

sealed class TypeLoaderEx+ServiceInheritanceCallback`2<IBehavior, TBehaviorCollection>  
: MulticastDelegate, ICloneable  
public virtual IAsyncResult BeginInvoke(Type currentType, KeyedByTypeCollection`1<IBehavior> behaviors, AsyncCallback callback, Object object);  
public virtual void EndInvoke(IAsyncResult result);  
public virtual void Invoke(Type currentType, KeyedByTypeCollection`1<IBehavior> behaviors);  

sealed class TypeLoader+ServiceInheritanceCallback`2<IBehavior, TBehaviorCollection>  
: MulticastDelegate, ICloneable  
public virtual IAsyncResult BeginInvoke(Type currentType, KeyedByTypeCollection`1<IBehavior> behaviors, AsyncCallback callback, Object object);  
public virtual void EndInvoke(IAsyncResult result);  
public virtual void Invoke(Type currentType, KeyedByTypeCollection`1<IBehavior> behaviors);  

  public class ServiceEndpointCollection
  : Collection`1<ServiceEndpoint>, IList`1<ServiceEndpoint>, ICollection`1<ServiceEndpoint>, IEnumerable`1<ServiceEndpoint>, IEnumerable, IList, ICollection, IReadOnlyList`1<ServiceEndpoint>
  public ServiceEndpoint Find(Type contractType);
  public ServiceEndpoint Find(XmlQualifiedName contractName);
  public ServiceEndpoint Find(Type contractType, XmlQualifiedName bindingName);
  public ServiceEndpoint Find(XmlQualifiedName contractName, XmlQualifiedName bindingName);
  public ServiceEndpoint Find(Uri address);
  public Collection`1<ServiceEndpoint> FindAll(Type contractType);
  public Collection`1<ServiceEndpoint> FindAll(XmlQualifiedName contractName);
  protected virtual void InsertItem(Int32 index, ServiceEndpoint item);
  protected virtual void SetItem(Int32 index, ServiceEndpoint item);

  sealed class TypeLoader<IBehavior, TBehaviorCollection>
  : MulticastDelegate, ICloneable, ISerializable
  public virtual IAsyncResult BeginInvoke(Type currentType, KeyedByTypeCollection`1<IBehavior> behaviors, AsyncCallback callback, Object object);
  public virtual void EndInvoke(IAsyncResult result);
  public virtual void Invoke(Type currentType, KeyedByTypeCollection`1<IBehavior> behaviors);

  public class ServiceMetadataBehavior
  : IServiceBehavior
  public Uri ExternalMetadataLocation { get; set; }
  public Binding HttpGetBinding { get; set; }
  public Boolean HttpGetEnabled { get; set; }
  public Uri HttpGetUrl { get; set; }
  public Binding HttpsGetBinding { get; set; }
  public Boolean HttpsGetEnabled { get; set; }
  public Uri HttpsGetUrl { get; set; }
  public MetadataExporter MetadataExporter { get; set; }

  public sealed class ServiceMetadataContractBehavior
  : IContractBehavior
  public Boolean MetadataGenerationDisabled { get; set; }

  public class ServiceMetadataEndpoint
  : ServiceEndpoint

  public class ServiceMetadataExtension
  : IExtension`1<ServiceHostBase>
  public MetadataSet Metadata { get; }
  public ServiceDescription SingleWsdl { get; }

  public sealed class ServiceSecurityAuditBehavior
  : IServiceBehavior
  public AuditLogLocation AuditLogLocation { get; set; }
  public AuditLevel MessageAuthenticationAuditLevel { get; set; }
  public AuditLevel ServiceAuthorizationAuditLevel { get; set; }
  public Boolean SuppressAuditFailure { get; set; }

  public class ServiceThrottlingBehavior
  : IServiceBehavior
  public Int32 MaxConcurrentCalls { get; set; }
  public Int32 MaxConcurrentInstances { get; set; }
  public Int32 MaxConcurrentSessions { get; set; }

  public class SynchronousReceiveBehavior
  : IEndpointBehavior

  public class TransactedBatchingBehavior
  : IEndpointBehavior
  public Int32 MaxBatchSize { get; set; }

  public abstract class TypedMessageConverter
 
  static public TypedMessageConverter Create(Type messageContract, String action);
  static public TypedMessageConverter Create(Type messageContract, String action, String defaultNamespace);
  static public TypedMessageConverter Create(Type messageContract, String action, XmlSerializerFormatAttribute formatterAttribute);
  static public TypedMessageConverter Create(Type messageContract, String action, DataContractFormatAttribute formatterAttribute);
  static public TypedMessageConverter Create(Type messageContract, String action, String defaultNamespace, XmlSerializerFormatAttribute formatterAttribute);
  static public TypedMessageConverter Create(Type messageContract, String action, String defaultNamespace, DataContractFormatAttribute formatterAttribute);
  public abstract virtual Object FromMessage(Message message);
  public abstract virtual Message ToMessage(Object typedMessage);
  public abstract virtual Message ToMessage(Object typedMessage, MessageVersion version);

  public class UseRequestHeadersForMetadataAddressBehavior
  : IServiceBehavior
  public IDictionary`2<String, Int32> DefaultPortsByScheme { get; }

public class WebHttpBehavior  
: IEndpointBehavior  
public virtual WebMessageBodyStyle DefaultBodyStyle { get; set; }  
public virtual WebMessageFormat DefaultOutgoingRequestFormat { get; set; }  
public virtual WebMessageFormat DefaultOutgoingResponseFormat { get; set; }  
public virtual Boolean FaultExceptionEnabled { get; set; }  
public virtual void AddBindingParameters(ServiceEndpoint endpoint, BindingParameterCollection bindingParameters);  
public virtual void ApplyClientBehavior(ServiceEndpoint endpoint, ClientRuntime clientRuntime);  
public virtual void ApplyDispatchBehavior(ServiceEndpoint endpoint, EndpointDispatcher endpointDispatcher);  
public virtual void Validate(ServiceEndpoint endpoint);  

  public class WsdlContractConversionContext
 
  public ContractDescription Contract { get; }
  public PortType WsdlPortType { get; }
  public FaultDescription GetFaultDescription(OperationFault operationFault);
  public MessageDescription GetMessageDescription(OperationMessage operationMessage);
  public Operation GetOperation(OperationDescription operation);
  public OperationDescription GetOperationDescription(Operation operation);
  public OperationFault GetOperationFault(FaultDescription fault);
  public OperationMessage GetOperationMessage(MessageDescription message);

  public class WsdlEndpointConversionContext
 
  public WsdlContractConversionContext ContractConversionContext { get; }
  public ServiceEndpoint Endpoint { get; }
  public Binding WsdlBinding { get; }
  public Port WsdlPort { get; }
  public FaultBinding GetFaultBinding(FaultDescription fault);
  public FaultDescription GetFaultDescription(FaultBinding faultBinding);
  public MessageBinding GetMessageBinding(MessageDescription message);
  public MessageDescription GetMessageDescription(MessageBinding messageBinding);
  public OperationBinding GetOperationBinding(OperationDescription operation);
  public OperationDescription GetOperationDescription(OperationBinding operationBinding);

  public class WsdlExporter
  : MetadataExporter
  public ServiceDescriptionCollection GeneratedWsdlDocuments { get; }
  public XmlSchemaSet GeneratedXmlSchemas { get; }
  public virtual void ExportContract(ContractDescription contract);
  public virtual void ExportEndpoint(ServiceEndpoint endpoint);
  public void ExportEndpoints(IEnumerable`1<ServiceEndpoint> endpoints, XmlQualifiedName wsdlServiceQName);
  public virtual MetadataSet GetGeneratedMetadata();

  public class WsdlImporter
  : MetadataImporter
  public ServiceDescriptionCollection WsdlDocuments { get; }
  public KeyedByTypeCollection`1<IWsdlImportExtension> WsdlImportExtensions { get; }
  public XmlSchemaSet XmlSchemas { get; }
  public Collection`1<Binding> ImportAllBindings();
  public virtual Collection`1<ContractDescription> ImportAllContracts();
  public virtual ServiceEndpointCollection ImportAllEndpoints();
  public Binding ImportBinding(Binding wsdlBinding);
  public ContractDescription ImportContract(PortType wsdlPortType);
  public ServiceEndpoint ImportEndpoint(Port wsdlPort);
  public ServiceEndpointCollection ImportEndpoints(PortType wsdlPortType);
  public ServiceEndpointCollection ImportEndpoints(Binding wsdlBinding);
  public ServiceEndpointCollection ImportEndpoints(Service wsdlService);

  public class XmlSerializerMessageContractImporter
  : IWsdlImportExtension

public class XmlSerializerOperationBehavior public class XmlSerializerOperationBehavior
: IOperationBehavior : IOperationBehavior, IWsdlExportExtension
  public XmlSerializerFormatAttribute XmlSerializerFormatAttribute { get; }