ChannelDispatcher Sınıf

Tanım

Kanalları kabul eden ve bunları bir hizmetle ilişkilendiren bir bileşen.

public ref class ChannelDispatcher : System::ServiceModel::Dispatcher::ChannelDispatcherBase
public class ChannelDispatcher : System.ServiceModel.Dispatcher.ChannelDispatcherBase
type ChannelDispatcher = class
    inherit ChannelDispatcherBase
Public Class ChannelDispatcher
Inherits ChannelDispatcherBase
Devralma

Örnekler

Uri baseAddress = new Uri("http://localhost:8001/Simple");
ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress);

serviceHost.AddServiceEndpoint(
    typeof(ICalculator),
    new WSHttpBinding(),
    "CalculatorServiceObject");

// Enable MEX.
ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
smb.HttpGetEnabled = true;
serviceHost.Description.Behaviors.Add(smb);

serviceHost.Open();

IChannelListener icl = serviceHost.ChannelDispatchers[0].Listener;
ChannelDispatcher dispatcher = new ChannelDispatcher(icl);
Console.WriteLine("servicehost has {0} ChannelDispatchers", serviceHost.ChannelDispatchers.Count);
ChannelDispatcherCollection dispatchers = serviceHost.ChannelDispatchers;

foreach (ChannelDispatcher disp in dispatchers)
{
    Console.WriteLine("Binding name: " + disp.BindingName);
}

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:8001/Simple")
Dim serviceHost As New ServiceHost(GetType(CalculatorService), baseAddress)

serviceHost.AddServiceEndpoint(GetType(ICalculator), New WSHttpBinding(), "CalculatorServiceObject")

' Enable MEX.
Dim smb As New ServiceMetadataBehavior()
smb.HttpGetEnabled = True
serviceHost.Description.Behaviors.Add(smb)

serviceHost.Open()

Dim icl As IChannelListener = serviceHost.ChannelDispatchers(0).Listener
Dim dispatcher As New ChannelDispatcher(icl)
Console.WriteLine("servicehost has {0} ChannelDispatchers", serviceHost.ChannelDispatchers.Count)
Dim dispatchers As ChannelDispatcherCollection = serviceHost.ChannelDispatchers

For Each disp As ChannelDispatcher In dispatchers
    Console.WriteLine("Binding name: " & disp.BindingName)
Next disp

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()

Açıklamalar

Nesne ChannelDispatcher , belirli bir URI'deki (dinleme URI'si olarak adlandırılır) bir hizmeti örneğiyle ilişkilendirir IChannelListener . Her ServiceHost nesnenin, her biri farklı bir dinleyiciyle ilişkilendirilmiş ve bu hizmet için dinleme URI'siyle ilişkilendirilmiş birçok ChannelDispatcher nesnesi olabilir.

bir ileti geldiğinde, ChannelDispatcher uç noktanın iletiyi kabul edip edemeyeceğini ilişkili EndpointDispatcher nesnelerin her birini sorgular ve iletiyi bunu yapabilen nesneye geçirir. Nesne EndpointDispatcher , bir ChannelDispatcher iletinin hedef adresi özelliğiyle ve ileti eylemi özelliğiyle AddressFilter eşleştiğinde gelen iletilerin işlenmesinden ContractFilter sorumludur.

Kanal oturumunun ömrünü ve davranışını denetleen tüm özellikler nesne üzerinde ChannelDispatcher inceleme veya değişiklik için kullanılabilir. ek olarak EndpointDispatcher, bunlar özel IChannelInitializer nesneleri içerir, IChannelListener, ServiceHost, ilişkili ve InstanceContext.

Oluşturucular

ChannelDispatcher(IChannelListener)

ChannelDispatcher sınıfının yeni bir örneğini başlatır.

ChannelDispatcher(IChannelListener, String)

ChannelDispatcher sınıfının yeni bir örneğini başlatır.

ChannelDispatcher(IChannelListener, String, IDefaultCommunicationTimeouts)

ChannelDispatcher sınıfının yeni bir örneğini başlatır.

Özellikler

AsynchronousTransactedAcceptEnabled

Dinleyicide yapılan accept yöntemi çağrılarının zaman uyumsuz olup olmadığını gösteren bir değer alır.

BindingName

Hizmeti yapılandırmak için kullanılan bağlamanın adını alır.

ChannelInitializers

kanalları ilk oluşturulduğunda incelemek ve kanallara durum eklemek için kullanabileceğiniz bir dizi IChannelInitializer nesne alır.

DefaultCloseTimeout

Kanal dağıtıcısının kapanmasına izin verilen varsayılan zaman aralığını alır.

DefaultOpenTimeout

Kanal dağıtıcısının açmasına izin verilen varsayılan zaman aralığını alır.

Endpoints

İletileri kanal uç noktalarına ileden uç nokta dağıtıcılarını alır.

ErrorHandlers

Uç nokta için özel hata işleme işlevselliği eklemek için kullanılabilecek bir nesne kümesi IErrorHandler alır.

Host

Dağıtıcıyla ilişkili hizmetin ana bilgisayarını alır.

Host

Türetilmiş bir sınıfta geçersiz kılındığında, kanal dağıtıcısıyla ilişkili hizmet ana bilgisayarını alır.

(Devralındığı yer: ChannelDispatcherBase)
IncludeExceptionDetailInFaults

Hataya bir özel durumla ilgili ayrıntıların eklenip eklenmeyeceğini belirten bir değer alır veya ayarlar.

IsDisposed

İletişim nesnesinin atılıp atılmadığını gösteren bir değer alır.

(Devralındığı yer: CommunicationObject)
IsTransactedAccept

Dinleyicideki accept yöntemi çağrılarının bir işlem altında yapılıp yapılmadığını gösteren bir değer alır.

IsTransactedReceive

Dinleyicideki alma yöntemi çağrılarının bir işlem altında yapılıp yapılmadığını gösteren bir değer alır.

Listener

Kanal dağıtıcısıyla ilişkili dinleyiciyi alır.

ManualAddressing

Kanal dağıtıcısının istek-yanıt iletilerine adres üst bilgileri ekleyip eklemediğini belirten bir değer alır veya ayarlar.

MaxPendingReceives

Kanal başına bekleyen ileti sayısı üst sınırını alır veya ayarlar.

MaxTransactedBatchSize

İşlem yapılan bir toplu işin en büyük boyutunu alır veya ayarlar.

MessageVersion

KULLANıLAN veya beklenen SOAP iletisini ve WS-Addressing sürümlerini alır veya ayarlar.

ReceiveContextEnabled

ReceiveContext'in etkin olup olmadığını alır veya ayarlar.

ReceiveSynchronously

Dağıtıcının kanallardan gelen iletileri okumak için zaman uyumlu çağrılar kullanıp kullanmadığını belirten bir değer alır veya ayarlar.

SendAsynchronously

İletilerin zaman uyumsuz olarak gönderilip gönderilmediğini alır veya ayarlar.

ServiceThrottle

Kanal dağıtıcısıyla ilişkili hizmet için hizmet kısıtlamasını alır veya ayarlar.

State

İletişim nesnesinin geçerli durumunu gösteren bir değer alır.

(Devralındığı yer: CommunicationObject)
ThisLock

Durum geçişi sırasında sınıf örneğini koruyan birbirini dışlayan kilidi alır.

(Devralındığı yer: CommunicationObject)
TransactionIsolationLevel

İşlemler için varsayılan yalıtım düzeyini alır veya ayarlar.

TransactionTimeout

Dağıtıcı tarafından hizmet adına oluşturulan yeni işlemler için varsayılan zaman aşımını belirten bir değer alır veya ayarlar.

Yöntemler

Abort()

bir iletişim nesnesinin geçerli durumundan kapanış durumuna hemen geçmesine neden olur.

(Devralındığı yer: CommunicationObject)
Attach(ServiceHostBase)

Kanal dağıtıcısını konağa ekler.

Attach(ServiceHostBase)

Türetilmiş bir sınıfta geçersiz kılındığında, kanal dağıtıcısını belirli bir konağa ekler.

(Devralındığı yer: ChannelDispatcherBase)
BeginClose(AsyncCallback, Object)

bir iletişim nesnesini kapatmak için zaman uyumsuz bir işlem başlatır.

(Devralındığı yer: CommunicationObject)
BeginClose(TimeSpan, AsyncCallback, Object)

Belirtilen zaman aşımına sahip bir iletişim nesnesini kapatmak için zaman uyumsuz bir işlem başlatır.

(Devralındığı yer: CommunicationObject)
BeginOpen(AsyncCallback, Object)

İletişim nesnesini açmak için zaman uyumsuz bir işlem başlatır.

(Devralındığı yer: CommunicationObject)
BeginOpen(TimeSpan, AsyncCallback, Object)

Belirli bir zaman aralığı içinde bir iletişim nesnesi açmak için zaman uyumsuz bir işlem başlatır.

(Devralındığı yer: CommunicationObject)
Close()

bir iletişim nesnesinin geçerli durumundan kapalı duruma geçmesine neden olur.

(Devralındığı yer: CommunicationObject)
Close(TimeSpan)

Bir iletişim nesnesinin belirli bir zaman aralığı içinde geçerli durumundan kapalı duruma geçmesine neden olur.

(Devralındığı yer: CommunicationObject)
CloseInput()

Dinleyicinin yeni kanalları kabul etmelerini durdurur.

Detach(ServiceHostBase)

Hizmet ana bilgisayarını kanal dağıtıcısından ayırır.

Detach(ServiceHostBase)

Türetilmiş bir sınıfta geçersiz kılındığında, kanal dağıtıcısını belirli bir konaktan ayırır.

(Devralındığı yer: ChannelDispatcherBase)
EndClose(IAsyncResult)

bir iletişim nesnesini kapatmak için zaman uyumsuz bir işlemi tamamlar.

(Devralındığı yer: CommunicationObject)
EndOpen(IAsyncResult)

bir iletişim nesnesini açmak için zaman uyumsuz bir işlemi tamamlar.

(Devralındığı yer: CommunicationObject)
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
Fault()

bir iletişim nesnesinin geçerli durumundan hatalı duruma geçmesine neden olur.

(Devralındığı yer: CommunicationObject)
GetCommunicationObjectType()

İletişim nesnesinin türünü alır.

(Devralındığı yer: CommunicationObject)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
OnAbort()

Dağıtıcıyla ilişkili dinleyiciyi durdurur.

OnBeginClose(TimeSpan, AsyncCallback, Object)

Belirli bir zaman aralığı içinde tamamlanması gereken dağıtıcı için bir kanal dinleyicisini kapatmak için zaman uyumsuz bir işlem başlatır.

OnBeginOpen(TimeSpan, AsyncCallback, Object)

Belirtilen zaman aralığı içinde tamamlanması gereken dağıtıcı için kanal dinleyicisini açmak için zaman uyumsuz bir işlem başlatır.

OnClose(TimeSpan)

Belirtilen süre içinde dağıtıcıyla ilişkili kanal dinleyicisini kapatır.

OnCloseAsync(TimeSpan)

Kanalları kabul eden ve bunları bir hizmetle ilişkilendiren bir bileşen.

OnCloseAsync(TimeSpan)

Kanalları kabul eden ve bunları bir hizmetle ilişkilendiren bir bileşen.

(Devralındığı yer: CommunicationObject)
OnClosed()

Kanal dağıtıcısıyla ilişkili uç nokta dağıtıcılarının kapatılmasının bir izlemesini sağlar.

OnClosing()

İletişim nesnesinin kapanış durumuna geçişi sırasında çağrılır.

(Devralındığı yer: CommunicationObject)
OnEndClose(IAsyncResult)

Dağıtıcının kanal dinleyicisini kapatmak için zaman uyumsuz bir işlemi tamamlar.

OnEndOpen(IAsyncResult)

Dağıtıcı için kanal dinleyicisini açmak için zaman uyumsuz bir işlemi tamamlar.

OnFaulted()

Zaman uyumlu bir hata işleminin çağrılması nedeniyle hata durumuna geçtikten sonra bir iletişim nesnesine işleme ekler.

(Devralındığı yer: CommunicationObject)
OnOpen(TimeSpan)

Kanal dağıtıcısıyla ilişkili dinleyiciyi açar.

OnOpenAsync(TimeSpan)

Kanalları kabul eden ve bunları bir hizmetle ilişkilendiren bir bileşen.

OnOpenAsync(TimeSpan)

Kanalları kabul eden ve bunları bir hizmetle ilişkilendiren bir bileşen.

(Devralındığı yer: CommunicationObject)
OnOpened()

Uç noktalara göndermek için kullanılan filtre tablosunu doldurur ve doğrular.

OnOpening()

Kanal dağıtıcısının bir konağa bağlı olup olmadığını denetler.

Open()

Bir iletişim nesnesinin oluşturulan durumdan açık duruma geçmesine neden olur.

(Devralındığı yer: CommunicationObject)
Open(TimeSpan)

Bir iletişim nesnesinin oluşturulan durumdan belirli bir zaman aralığı içinde açık duruma geçmesine neden olur.

(Devralındığı yer: CommunicationObject)
ThrowIfDisposed()

İletişim nesnesi atılırsa bir özel durum oluşturur.

(Devralındığı yer: CommunicationObject)
ThrowIfDisposedOrImmutable()

Özelliğin durum olarak ayarlanmadığı Created iletişim nesnesi State bir özel durum oluşturur.

(Devralındığı yer: CommunicationObject)
ThrowIfDisposedOrNotOpen()

İletişim nesnesi durumunda değilse Opened bir özel durum oluşturur.

(Devralındığı yer: CommunicationObject)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Ekinlikler

Closed

Bir iletişim nesnesi kapalı duruma geçtiğinde gerçekleşir.

(Devralındığı yer: CommunicationObject)
Closing

Bir iletişim nesnesi kapanış durumuna geçtiğinde gerçekleşir.

(Devralındığı yer: CommunicationObject)
Faulted

Bir iletişim nesnesi hatalı duruma geçtiğinde gerçekleşir.

(Devralındığı yer: CommunicationObject)
Opened

Bir iletişim nesnesi açık duruma geçtiğinde gerçekleşir.

(Devralındığı yer: CommunicationObject)
Opening

Bir iletişim nesnesi açma durumuna geçtiğinde gerçekleşir.

(Devralındığı yer: CommunicationObject)

Belirtik Arabirim Kullanımları

IAsyncCommunicationObject.CloseAsync(TimeSpan)

Kanalları kabul eden ve bunları bir hizmetle ilişkilendiren bir bileşen.

(Devralındığı yer: CommunicationObject)
IAsyncCommunicationObject.OpenAsync(TimeSpan)

Kanalları kabul eden ve bunları bir hizmetle ilişkilendiren bir bileşen.

(Devralındığı yer: CommunicationObject)

Uzantı Metotları

CloseHelperAsync(ICommunicationObject, TimeSpan)

Kanalları kabul eden ve bunları bir hizmetle ilişkilendiren bir bileşen.

OpenHelperAsync(ICommunicationObject, TimeSpan)

Kanalları kabul eden ve bunları bir hizmetle ilişkilendiren bir bileşen.

GetInternalCloseTimeout(CommunicationObject)

Kanalları kabul eden ve bunları bir hizmetle ilişkilendiren bir bileşen.

Şunlara uygulanır