ReliableSessionBindingElement Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Uç noktalar arasında güvenilir bir oturum için gereken gönderme ve alma kanallarını oluşturabilen bağlama öğesini temsil eder.
public ref class ReliableSessionBindingElement sealed : System::ServiceModel::Channels::BindingElement
public ref class ReliableSessionBindingElement sealed : System::ServiceModel::Channels::BindingElement, System::ServiceModel::Description::IPolicyExportExtension
public sealed class ReliableSessionBindingElement : System.ServiceModel.Channels.BindingElement
public sealed class ReliableSessionBindingElement : System.ServiceModel.Channels.BindingElement, System.ServiceModel.Description.IPolicyExportExtension
type ReliableSessionBindingElement = class
inherit BindingElement
type ReliableSessionBindingElement = class
inherit BindingElement
interface IPolicyExportExtension
Public NotInheritable Class ReliableSessionBindingElement
Inherits BindingElement
Public NotInheritable Class ReliableSessionBindingElement
Inherits BindingElement
Implements IPolicyExportExtension
- Devralma
- Uygulamalar
Örnekler
ReliableSessionBindingElement herhangi bir özel bağlamaya eklenebilir. Bu işlem aşağıdaki yapılandırma öğeleri kullanılarak yapılır.
<bindings>
<customBinding>
<binding configurationName="ReliabilityHTTP">
<reliableSession/>
</binding>
</customBinding>
</bindings>
Aşağıdaki örnek kod, kodda nasıl kullanılacağını ReliableSessionBindingElement gösterir.
Uri baseAddress = new Uri("http://localhost:8000/servicemodelsamples/service");
// Create a ServiceHost for the CalculatorService type and provide the base address.
using (ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress))
{
// Create a custom binding that contains two binding elements.
ReliableSessionBindingElement reliableSession = new ReliableSessionBindingElement();
reliableSession.Ordered = true;
HttpTransportBindingElement httpTransport = new HttpTransportBindingElement();
httpTransport.AuthenticationScheme = System.Net.AuthenticationSchemes.Anonymous;
httpTransport.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard;
CustomBinding binding = new CustomBinding(reliableSession, httpTransport);
// Add an endpoint using that binding.
serviceHost.AddServiceEndpoint(typeof(ICalculator), binding, "");
// Add a MEX endpoint.
ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
smb.HttpGetEnabled = true;
smb.HttpGetUrl = new Uri("http://localhost:8001/servicemodelsamples");
serviceHost.Description.Behaviors.Add(smb);
// Open the ServiceHostBase to create listeners and start listening for messages.
serviceHost.Open();
// The service can now be accessed.
Console.WriteLine("The service is ready.");
Console.WriteLine("Press <ENTER> to terminate service.");
Console.WriteLine();
Console.ReadLine();
// Close the ServiceHostBase to shutdown the service.
serviceHost.Close();
}
Dim baseAddress As New Uri("http://localhost:8000/servicemodelsamples/service")
' Create a ServiceHost for the CalculatorService type and provide the base address.
Using serviceHost As New ServiceHost(GetType(CalculatorService), baseAddress)
' Create a custom binding that contains two binding elements.
Dim reliableSession As New ReliableSessionBindingElement()
reliableSession.Ordered = True
Dim httpTransport As New HttpTransportBindingElement()
httpTransport.AuthenticationScheme = System.Net.AuthenticationSchemes.Anonymous
httpTransport.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard
Dim binding As New CustomBinding(reliableSession, httpTransport)
' Add an endpoint using that binding.
serviceHost.AddServiceEndpoint(GetType(ICalculator), binding, "")
' Add a MEX endpoint.
Dim smb As New ServiceMetadataBehavior()
smb.HttpGetEnabled = True
smb.HttpGetUrl = New Uri("http://localhost:8001/servicemodelsamples")
serviceHost.Description.Behaviors.Add(smb)
' Open the ServiceHostBase to create listeners and start listening for messages.
serviceHost.Open()
' The service can now be accessed.
Console.WriteLine("The service is ready.")
Console.WriteLine("Press <ENTER> to terminate service.")
Console.WriteLine()
Console.ReadLine()
' Close the ServiceHostBase to shutdown the service.
serviceHost.Close()
End Using
Açıklamalar
Oturumlar sağlar ve isteğe bağlı olarak sıralı ileti teslimi sağlar. Uygulanan bu oturum SOAP ve aktarım aracıları arasında geçiş yapabilir.
Her bağlama öğesi, ileti gönderirken veya alırken bir işleme adımlarını temsil eder. Çalışma zamanında bağlama öğeleri, ileti göndermek ve almak için gereken giden ve gelen kanal yığınları oluşturmak için gerekli olan kanal fabrikalarını ve dinleyicilerini oluşturur. , ReliableSessionBindingElement yığında uç noktalar arasında güvenilir bir oturum oluşturabilen ve bu oturumun davranışını yapılandırabilen isteğe bağlı bir katman sağlar.
ReliableSessionBindingElement aşağıdaki tabloda yer alan standart bağlamalarda sağlanır.
| Binding | Varsayılan |
|---|---|
| NetTcpBinding | Kapalı |
| WSHttpBinding | Kapalı |
| WSDualHttpBinding | Açık (gerekli) |
Oluşturucular
| Name | Description |
|---|---|
| ReliableSessionBindingElement() |
ReliableSessionBindingElement sınıfının yeni bir örneğini başlatır. |
| ReliableSessionBindingElement(Boolean) |
İleti tesliminin iletilerin ReliableSessionBindingElement gönderilme sırasını koruması gerekip gerekmediğini belirten sınıfın yeni bir örneğini başlatır. |
Özellikler
| Name | Description |
|---|---|
| AcknowledgementInterval |
Bir hedefin, fabrika tarafından oluşturulan güvenilir kanallarda ileti kaynağına bildirim göndermeden önce bekleyeceği zaman aralığını alır veya ayarlar. |
| FlowControlEnabled |
Güvenilir oturumun akış denetiminin etkinleştirilip etkinleştirilmediğini belirten bir değer alır veya ayarlar. |
| InactivityTimeout |
Kapatmadan önce hizmetin etkin olmadığı bir zaman aralığını alır veya ayarlar. |
| MaxPendingChannels |
Güvenilir oturum sırasında beklemede olabilecek en fazla kanalı alır veya ayarlar. |
| MaxRetryCount |
Güvenilir oturum sırasında iletinin aktarılmaya çalışılacağı en fazla sayısını alır veya ayarlar. |
| MaxTransferWindowSize |
Gönderme arabelleğinde veya alma arabelleğinde var olabilecek en fazla sayıda iletiyi alır veya ayarlar. |
| Ordered |
İleti tesliminin iletilerin gönderilme sırasını koruması gerekip gerekmediğini belirten bir değer alır veya ayarlar. |
| ReliableMessagingVersion |
Bağlama öğesi tarafından belirtilen WS-ReliableMessaging sürümünü alır veya ayarlar. |
Yöntemler
| Name | Description |
|---|---|
| BuildChannelFactory<TChannel>(BindingContext) |
Güvenilir oturumu destekleyen belirtilen türde bir kanal oluşturan bir fabrika döndürür. |
| BuildChannelListener<TChannel>(BindingContext) |
Güvenilir oturumu destekleyen belirtilen türde bir kanalı kabul eden bir dinleyici döndürür. |
| CanBuildChannelFactory<TChannel>(BindingContext) |
Güvenilir bir oturumu destekleyen kanal ve bağlam için kanal fabrikası oluşturulup oluşturulamayacağını gösteren bir değer döndürür. |
| CanBuildChannelListener<TChannel>(BindingContext) |
Güvenilir bir oturumu destekleyebilecek şekilde kanal dinleyicisinin kanal ve bağlam için oluşturulup oluşturulamayacağını gösteren bir değer döndürür. |
| Clone() |
Geçerli güvenilir oturum bağlama öğesinin bir kopyasını oluşturur. |
| Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
| GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
| GetProperty<T>(BindingContext) |
Belirtilen türdeki bir özelliği bağlama bağlamından alır. |
| GetType() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
| MemberwiseClone() |
Geçerli Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
| ToString() |
Geçerli nesneyi temsil eden bir dize döndürür. (Devralındığı yer: Object) |
Belirtik Arabirim Kullanımları
| Name | Description |
|---|---|
| IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext) |
Güvenilir oturum bağlama öğesinde yer alan bilgileri, uzak uç noktanın hizmete güvenilir bir oturumla erişmesini sağlayan WSDL öğeleriyle eşler. |