WSHttpBindingBase Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Biedt de basisklasse met leden die gemeenschappelijk zijn voor de WSHttpBinding en de WSFederationHttpBinding.
public ref class WSHttpBindingBase abstract : System::ServiceModel::Channels::Binding
public ref class WSHttpBindingBase abstract : System::ServiceModel::Channels::Binding, System::ServiceModel::Channels::IBindingRuntimePreferences
public abstract class WSHttpBindingBase : System.ServiceModel.Channels.Binding
public abstract class WSHttpBindingBase : System.ServiceModel.Channels.Binding, System.ServiceModel.Channels.IBindingRuntimePreferences
type WSHttpBindingBase = class
inherit Binding
type WSHttpBindingBase = class
inherit Binding
interface IBindingRuntimePreferences
Public MustInherit Class WSHttpBindingBase
Inherits Binding
Public MustInherit Class WSHttpBindingBase
Inherits Binding
Implements IBindingRuntimePreferences
- Overname
- Afgeleid
- Implementeringen
Voorbeelden
In het volgende voorbeeld ziet u hoe u de functionaliteit van de WSHttpBindingBase klasse gebruikt met de afgeleide klassen en WSHttpBindingWSFederationHttpBinding.
// Define a service contract for the calculator.
[ServiceContract()]
public interface ICalculator
{
[OperationContract(IsOneWay = false)]
double Add(double n1, double n2);
[OperationContract(IsOneWay = false)]
double Subtract(double n1, double n2);
[OperationContract(IsOneWay = false)]
double Multiply(double n1, double n2);
[OperationContract(IsOneWay = false)]
double Divide(double n1, double n2);
}
// Service class which implements the service contract.
public class CalculatorService : ICalculator
{
public double Add(double n1, double n2)
{
double result = n1 + n2;
return result;
}
public double Subtract(double n1, double n2)
{
double result = n1 - n2;
return result;
}
public double Multiply(double n1, double n2)
{
double result = n1 * n2;
return result;
}
public double Divide(double n1, double n2)
{
double result = n1 / n2;
return result;
}
// Create and configure bindings within this EXE console application.
public static void Main()
{
// Create a WSHttpBinding
WSHttpBinding binding1 = new WSHttpBinding();
binding1.BypassProxyOnLocal = true;
EnvelopeVersion envelopeVersion =
binding1.EnvelopeVersion;
HostNameComparisonMode hostnameComparisonMode =
binding1.HostNameComparisonMode;
long maxBufferPoolSize =
binding1.MaxBufferPoolSize;
long maxReceivedMessageSize =
binding1.MaxReceivedMessageSize;
WSMessageEncoding messageEncoding =
binding1.MessageEncoding;
Uri proxyAddress =
binding1.ProxyAddress;
XmlDictionaryReaderQuotas readerQuotas =
binding1.ReaderQuotas;
OptionalReliableSession reliableSession =
binding1.ReliableSession;
string scheme = binding1.Scheme;
Encoding textEncoding =
binding1.TextEncoding;
bool transactionFlow =
binding1.TransactionFlow;
bool useDefaultWebProxy =
binding1.UseDefaultWebProxy;
BindingElementCollection bindingElements =
binding1.CreateBindingElements();
// Set WSHttpBinding binding property values
binding1.Name = "Binding1";
binding1.HostNameComparisonMode =
HostNameComparisonMode.StrongWildcard;
binding1.Security.Mode = SecurityMode.Message;
binding1.ReliableSession.Enabled = false;
binding1.TransactionFlow = false;
// binding1.Security.Message.DefaultProtectionLevel = System.Net.Security.ProtectionLevel.EncryptAndSign;
// Enumerate properties of the binding1.
Console.WriteLine("WSHttpBinding binding1 properties:");
Console.WriteLine(" - name:\t\t\t{0}", binding1.Name);
Console.WriteLine(" - hostname comparison:\t{0}", binding1.HostNameComparisonMode);
Console.WriteLine(" - security mode:\t\t{0}", binding1.Security.Mode);
Console.WriteLine(" - RM enabled:\t\t{0}", binding1.ReliableSession.Enabled);
Console.WriteLine(" - transaction flow:\t{0}", binding1.TransactionFlow);
//Console.WriteLine(" - message security:\t{0}", binding1.Security.Message.DefaultProtectionLevel);
Console.WriteLine(" - transport scheme:\t{0}", binding1.Scheme);
Console.WriteLine(" - max message size:\t{0}", binding1.MaxReceivedMessageSize);
Console.WriteLine(" - default text encoding:\t{0}", binding1.TextEncoding);
Console.WriteLine();
// Create a WSFederationBinding with a message security mode
// and with a reliable session enabled.
WSFederationHttpBinding binding3 = new WSFederationHttpBinding(WSFederationHttpSecurityMode.Message, true);
// Enumerate properties of the binding2.
Console.WriteLine("WSFederationBinding binding3 properties:");
Console.WriteLine(" - security mode:\t\t{0}", binding3.Security.Mode);
Console.WriteLine(" - RM enabled:\t\t{0}", binding3.ReliableSession.Enabled);
Console.WriteLine();
Console.WriteLine("Press <ENTER> to terminate.");
Console.ReadLine();
}
static void SnippetReceiveSynchronously ()
{
WSHttpBinding binding = new WSHttpBinding();
IBindingRuntimePreferences s =
binding.GetProperty<IBindingRuntimePreferences>
(new BindingParameterCollection());
bool receiveSynchronously = s.ReceiveSynchronously;
}
}
' Define a service contract for the calculator.
<ServiceContract()> _
Public Interface ICalculator
<OperationContract(IsOneWay := False)> _
Function Add(ByVal n1 As Double, ByVal n2 As Double) As Double
<OperationContract(IsOneWay := False)> _
Function Subtract(ByVal n1 As Double, ByVal n2 As Double) As Double
<OperationContract(IsOneWay := False)> _
Function Multiply(ByVal n1 As Double, ByVal n2 As Double) As Double
<OperationContract(IsOneWay := False)> _
Function Divide(ByVal n1 As Double, ByVal n2 As Double) As Double
End Interface
' Service class which implements the service contract.
Public Class CalculatorService
Implements ICalculator
Public Function Add(ByVal n1 As Double, ByVal n2 As Double) As Double Implements ICalculator.Add
Dim result = n1 + n2
Return result
End Function
Public Function Subtract(ByVal n1 As Double, ByVal n2 As Double) As Double Implements ICalculator.Subtract
Dim result = n1 - n2
Return result
End Function
Public Function Multiply(ByVal n1 As Double, ByVal n2 As Double) As Double Implements ICalculator.Multiply
Dim result = n1 * n2
Return result
End Function
Public Function Divide(ByVal n1 As Double, ByVal n2 As Double) As Double Implements ICalculator.Divide
Dim result = n1 / n2
Return result
End Function
' Create and configure bindings within this EXE console application.
Public Shared Sub Main()
' Create a WSHttpBinding
Dim binding1 As New WSHttpBinding()
binding1.BypassProxyOnLocal = True
Dim envelopeVersion As EnvelopeVersion = binding1.EnvelopeVersion
Dim hostnameComparisonMode As HostNameComparisonMode = binding1.HostNameComparisonMode
Dim maxBufferPoolSize = binding1.MaxBufferPoolSize
Dim maxReceivedMessageSize = binding1.MaxReceivedMessageSize
Dim messageEncoding As WSMessageEncoding = binding1.MessageEncoding
Dim proxyAddress As Uri = binding1.ProxyAddress
Dim readerQuotas As XmlDictionaryReaderQuotas = binding1.ReaderQuotas
Dim reliableSession As OptionalReliableSession = binding1.ReliableSession
Dim scheme = binding1.Scheme
Dim textEncoding = binding1.TextEncoding
Dim transactionFlow = binding1.TransactionFlow
Dim useDefaultWebProxy = binding1.UseDefaultWebProxy
Dim bindingElements As BindingElementCollection = binding1.CreateBindingElements()
' Set WSHttpBinding binding property values
binding1.Name = "Binding1"
binding1.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard
binding1.Security.Mode = SecurityMode.Message
binding1.ReliableSession.Enabled = False
binding1.TransactionFlow = False
' binding1.Security.Message.DefaultProtectionLevel = System.Net.Security.ProtectionLevel.EncryptAndSign;
' Enumerate properties of the binding1.
Console.WriteLine("WSHttpBinding binding1 properties:")
Console.WriteLine(" - name:" & Constants.vbTab + Constants.vbTab + Constants.vbTab & "{0}", binding1.Name)
Console.WriteLine(" - hostname comparison:" & Constants.vbTab & "{0}", binding1.HostNameComparisonMode)
Console.WriteLine(" - security mode:" & Constants.vbTab + Constants.vbTab & "{0}", binding1.Security.Mode)
Console.WriteLine(" - RM enabled:" & Constants.vbTab + Constants.vbTab & "{0}", binding1.ReliableSession.Enabled)
Console.WriteLine(" - transaction flow:" & Constants.vbTab & "{0}", binding1.TransactionFlow)
'Console.WriteLine(" - message security:\t{0}", binding1.Security.Message.DefaultProtectionLevel);
Console.WriteLine(" - transport scheme:" & Constants.vbTab & "{0}", binding1.Scheme)
Console.WriteLine(" - max message size:" & Constants.vbTab & "{0}", binding1.MaxReceivedMessageSize)
Console.WriteLine(" - default text encoding:" & Constants.vbTab & "{0}", binding1.TextEncoding)
Console.WriteLine()
' Create a WSFederationBinding with a message security mode
' and with a reliable session enabled.
Dim binding3 As New WSFederationHttpBinding(WSFederationHttpSecurityMode.Message, True)
' Enumerate properties of the binding2.
Console.WriteLine("WSFederationBinding binding3 properties:")
Console.WriteLine(" - security mode:" & Constants.vbTab + Constants.vbTab & "{0}", binding3.Security.Mode)
Console.WriteLine(" - RM enabled:" & Constants.vbTab + Constants.vbTab & "{0}", binding3.ReliableSession.Enabled)
Console.WriteLine()
Console.WriteLine("Press <ENTER> to terminate.")
Console.ReadLine()
End Sub
Private Shared Sub SnippetReceiveSynchronously()
Dim binding As New WSHttpBinding()
Dim s As IBindingRuntimePreferences = binding.GetProperty(Of IBindingRuntimePreferences) (New BindingParameterCollection())
Dim receiveSynchronously = s.ReceiveSynchronously
End Sub
End Class
Opmerkingen
Het WSHttpBindingBase biedt enkele basisfunctionaliteit voor de bindingen die worden gebruikt voor het configureren van beveiligde, betrouwbare en interoperabele webservices, zoals die zijn geïmplementeerd door de WSHttpBinding niet-duplex-servicecontracten, en meer in het bijzonder voor de veilige en interoperabele WSFederationHttpBinding die het WS-Federation-protocol ondersteunt.
Standaard wordt er een runtimestack gegenereerd die gebruikmaakt van WS-Security voor berichtbeveiliging en -verificatie, HTTP voor berichtbezorging en codering van tekst-/XML-berichten. Het kan worden geconfigureerd om ook WS-ReliableMessaging te gebruiken voor betrouwbaarheid.
Het gebruik van WS-ReliableMessaging kan worden geconfigureerd met behulp van de optionele reliableSessionEnabled parameter.
Constructors
| Name | Description |
|---|---|
| WSHttpBindingBase() |
Initialiseert een nieuw exemplaar van de WSHttpBindingBase klasse. |
| WSHttpBindingBase(Boolean) |
Initialiseert een nieuw exemplaar van de WSHttpBindingBase klasse met een waarde die aangeeft of een betrouwbare sessie is ingeschakeld. |
Eigenschappen
| Name | Description |
|---|---|
| BypassProxyOnLocal |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de proxyserver voor lokale adressen moet worden overgeslagen. |
| CloseTimeout |
Hiermee haalt u het tijdsinterval op dat is opgegeven voor een verbinding die moet worden gesloten voordat het transport een uitzondering genereert. (Overgenomen van Binding) |
| EnvelopeVersion |
Hiermee haalt u de versie van SOAP op die wordt gebruikt voor berichten die door deze binding worden verwerkt. |
| HostNameComparisonMode |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de hostnaam wordt gebruikt om de service te bereiken wanneer deze overeenkomt met de URI. |
| MaxBufferPoolSize |
Hiermee haalt of stelt u de maximale hoeveelheid toegewezen geheugen in bytes in voor de bufferbeheerder die de buffers beheert die vereist zijn voor eindpunten met behulp van deze binding. |
| MaxReceivedMessageSize |
Hiermee wordt de maximale grootte, in bytes, opgehaald of ingesteld voor een bericht dat door de binding kan worden verwerkt. |
| MessageEncoding |
Hiermee haalt u op of stelt u in of MTOM of Text/XML wordt gebruikt om SOAP-berichten te coderen. |
| MessageVersion |
Hiermee haalt u de berichtversie op die wordt gebruikt door clients en services die zijn geconfigureerd met de binding. (Overgenomen van Binding) |
| Name |
Hiermee haalt u de naam van de binding op of stelt u deze in. (Overgenomen van Binding) |
| Namespace |
Hiermee haalt u de XML-naamruimte van de binding op of stelt u deze in. (Overgenomen van Binding) |
| OpenTimeout |
Hiermee haalt u het tijdsinterval op dat is opgegeven voor een verbinding die moet worden geopend voordat het transport een uitzondering genereert. (Overgenomen van Binding) |
| ProxyAddress |
Hiermee haalt u het URI-adres van de HTTP-proxy op of stelt u dit in. |
| ReaderQuotas |
Hiermee worden beperkingen voor de complexiteit van SOAP-berichten opgehaald of ingesteld die kunnen worden verwerkt door eindpunten die met deze binding zijn geconfigureerd. |
| ReceiveTimeout |
Hiermee wordt het tijdsinterval opgehaald of ingesteld dat een verbinding inactief kan blijven, terwijl er geen toepassingsberichten worden ontvangen voordat deze wordt verwijderd. (Overgenomen van Binding) |
| ReliableSession |
Hiermee haalt u een object op dat handige toegang biedt tot de eigenschappen van een betrouwbaar sessiebindingselement dat beschikbaar is wanneer u een van de door het systeem geleverde bindingen gebruikt. |
| Scheme |
Hiermee haalt u het URI-transportschema op voor de kanalen en listeners die met deze binding zijn geconfigureerd. |
| SendTimeout |
Hiermee haalt u het tijdsinterval op dat is opgegeven voor een schrijfbewerking die moet worden voltooid voordat het transport een uitzondering genereert. (Overgenomen van Binding) |
| TextEncoding |
Hiermee wordt de tekencodering opgehaald of ingesteld die wordt gebruikt voor de berichttekst. |
| TransactionFlow |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of deze binding ondersteuning moet bieden voor stromende WS-Transactions. |
| UseDefaultWebProxy |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de automatisch geconfigureerde HTTP-proxy van het systeem moet worden gebruikt, indien beschikbaar. |
Methoden
| Name | Description |
|---|---|
| BuildChannelFactory<TChannel>(BindingParameterCollection) |
Bouwt de stack van de kanaalfactory op de client die een opgegeven type kanaal maakt en voldoet aan de functies die zijn opgegeven door een verzameling bindingsparameters. (Overgenomen van Binding) |
| BuildChannelFactory<TChannel>(Object[]) |
Bouwt de stack van de kanaalfactory op de client die een opgegeven type kanaal maakt en voldoet aan de functies die zijn opgegeven door een objectmatrix. (Overgenomen van Binding) |
| BuildChannelListener<TChannel>(BindingParameterCollection) |
Bouwt de kanaallistener op de service die een opgegeven type kanaal accepteert en voldoet aan de functies die zijn opgegeven door een verzameling bindingsparameters. (Overgenomen van Binding) |
| BuildChannelListener<TChannel>(Object[]) |
Bouwt de kanaallistener op de service die een opgegeven type kanaal accepteert en voldoet aan de opgegeven functies. (Overgenomen van Binding) |
| BuildChannelListener<TChannel>(Uri, BindingParameterCollection) |
Bouwt de kanaallistener op de service die een opgegeven type kanaal accepteert en voldoet aan de opgegeven functies. (Overgenomen van Binding) |
| BuildChannelListener<TChannel>(Uri, Object[]) |
Bouwt de kanaallistener op de service die een opgegeven type kanaal accepteert en voldoet aan de opgegeven functies. (Overgenomen van Binding) |
| BuildChannelListener<TChannel>(Uri, String, BindingParameterCollection) |
Bouwt de kanaallistener op de service die een opgegeven type kanaal accepteert en voldoet aan de opgegeven functies. (Overgenomen van Binding) |
| BuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection) |
Bouwt de kanaallistener op de service die een opgegeven type kanaal accepteert en voldoet aan de opgegeven functies. (Overgenomen van Binding) |
| BuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[]) |
Bouwt de kanaallistener op de service die een opgegeven type kanaal accepteert en voldoet aan de opgegeven functies. (Overgenomen van Binding) |
| BuildChannelListener<TChannel>(Uri, String, Object[]) |
Bouwt de kanaallistener op de service die een opgegeven type kanaal accepteert en voldoet aan de opgegeven functies. (Overgenomen van Binding) |
| CanBuildChannelFactory<TChannel>(BindingParameterCollection) |
Retourneert een waarde die aangeeft of de huidige binding een kanaalfactorystack kan bouwen op de client die voldoet aan de verzameling bindingsparameters die zijn opgegeven. (Overgenomen van Binding) |
| CanBuildChannelFactory<TChannel>(Object[]) |
Retourneert een waarde die aangeeft of de huidige binding een kanaalfactorystack kan bouwen op de client die voldoet aan de vereisten die zijn opgegeven door een objectmatrix. (Overgenomen van Binding) |
| CanBuildChannelListener<TChannel>(BindingParameterCollection) |
Retourneert een waarde die aangeeft of de huidige binding een kanaallistenerstack kan bouwen op de service die voldoet aan de verzameling bindingsparameters die zijn opgegeven. (Overgenomen van Binding) |
| CanBuildChannelListener<TChannel>(Object[]) |
Retourneert een waarde die aangeeft of de huidige binding een kanaallistenerstack kan bouwen op de service die voldoet aan de criteria die zijn opgegeven in een matrix met objecten. (Overgenomen van Binding) |
| CreateBindingElements() |
Retourneert een geordende verzameling bindingselementen in de huidige binding. |
| CreateMessageSecurity() |
Wanneer deze wordt geïmplementeerd in een afgeleide klasse, wordt de SecurityBindingElement waarde geretourneerd van de huidige binding. |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetProperty<T>(BindingParameterCollection) |
Retourneert een getypt object dat, indien aanwezig, is aangevraagd vanuit de juiste laag in de bindingsstack. (Overgenomen van Binding) |
| GetTransport() |
Wanneer deze wordt geïmplementeerd in een afgeleide klasse, retourneert u het transportbindingselement van de huidige binding. |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| ShouldSerializeName() |
Retourneert of de naam van de binding moet worden geserialiseerd. (Overgenomen van Binding) |
| ShouldSerializeNamespace() |
Retourneert of de naamruimte van de binding moet worden geserialiseerd. (Overgenomen van Binding) |
| ShouldSerializeReaderQuotas() |
Retourneert een waarde die aangeeft of de eigenschap is gewijzigd van de ReaderQuotas standaardwaarde en moet worden geserialiseerd. |
| ShouldSerializeReliableSession() |
Retourneert een waarde die aangeeft of de eigenschap is gewijzigd van de ReliableSession standaardwaarde en moet worden geserialiseerd. |
| ShouldSerializeTextEncoding() |
Retourneert een waarde die aangeeft of de eigenschap is gewijzigd van de TextEncoding standaardwaarde en moet worden geserialiseerd. |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
Expliciete interface-implementaties
| Name | Description |
|---|---|
| IBindingRuntimePreferences.ReceiveSynchronously |
Hiermee wordt een waarde opgehaald die aangeeft of binnenkomende aanvragen synchroon of asynchroon worden verwerkt. |