Aracılığıyla paylaş


SdlChannelSink.ProcessMessage Yöntem

Tanım

Geçerli havuzdan ileti işleme isteğinde bulunur.

public:
 virtual System::Runtime::Remoting::Channels::ServerProcessing ProcessMessage(System::Runtime::Remoting::Channels::IServerChannelSinkStack ^ sinkStack, System::Runtime::Remoting::Messaging::IMessage ^ requestMsg, System::Runtime::Remoting::Channels::ITransportHeaders ^ requestHeaders, System::IO::Stream ^ requestStream, [Runtime::InteropServices::Out] System::Runtime::Remoting::Messaging::IMessage ^ % responseMsg, [Runtime::InteropServices::Out] System::Runtime::Remoting::Channels::ITransportHeaders ^ % responseHeaders, [Runtime::InteropServices::Out] System::IO::Stream ^ % responseStream);
public System.Runtime.Remoting.Channels.ServerProcessing ProcessMessage (System.Runtime.Remoting.Channels.IServerChannelSinkStack sinkStack, System.Runtime.Remoting.Messaging.IMessage requestMsg, System.Runtime.Remoting.Channels.ITransportHeaders requestHeaders, System.IO.Stream requestStream, out System.Runtime.Remoting.Messaging.IMessage responseMsg, out System.Runtime.Remoting.Channels.ITransportHeaders responseHeaders, out System.IO.Stream responseStream);
abstract member ProcessMessage : System.Runtime.Remoting.Channels.IServerChannelSinkStack * System.Runtime.Remoting.Messaging.IMessage * System.Runtime.Remoting.Channels.ITransportHeaders * System.IO.Stream * IMessage * ITransportHeaders * Stream -> System.Runtime.Remoting.Channels.ServerProcessing
override this.ProcessMessage : System.Runtime.Remoting.Channels.IServerChannelSinkStack * System.Runtime.Remoting.Messaging.IMessage * System.Runtime.Remoting.Channels.ITransportHeaders * System.IO.Stream * IMessage * ITransportHeaders * Stream -> System.Runtime.Remoting.Channels.ServerProcessing
Public Function ProcessMessage (sinkStack As IServerChannelSinkStack, requestMsg As IMessage, requestHeaders As ITransportHeaders, requestStream As Stream, ByRef responseMsg As IMessage, ByRef responseHeaders As ITransportHeaders, ByRef responseStream As Stream) As ServerProcessing

Parametreler

sinkStack
IServerChannelSinkStack

Geçerli havuzu çağıran kanal havuzları yığını.

requestMsg
IMessage

İsteği içeren ileti.

requestHeaders
ITransportHeaders

İstemciden gelen iletiden alınan üst bilgiler.

requestStream
Stream

İşlenmesi ve seri durumdan çıkarma havuzuna geçirilmesi gereken akış.

responseMsg
IMessage

Bu yöntem döndürdüğünde, yanıt iletisini tutan bir IMessage içerir. Bu parametre, başlatmadan iletilir.

responseHeaders
ITransportHeaders

Bu yöntem döndürdüğünde, istemciye döndürülen ileti başlığına eklenecek üst bilgileri tutan bir ITransportHeaders içerir. Bu parametre, başlatmadan iletilir.

responseStream
Stream

Bu yöntem döndürdüğünde, aktarım havuzuna giden bir Stream içerir. Bu parametre, başlatmadan iletilir.

Döndürülenler

İletinin ServerProcessing nasıl işlendiği hakkında bilgi sağlayan durum değeri.

Uygulamalar

Açıklamalar

Proxy'nin işi, üzerinde çağrılan bir yöntem çağrısını bir ileti nesnesine dönüştürmektir. arabirimini IMessage uygulayan İleti nesnesi, ileti havuzu nesneleri çağrılarak ProcessMessage istemci ucundan sunucu ucuna geçirilir. İleti havuzları birbirine zincirlenir; başka bir deyişle, her ileti havuzu, çalışmasını gerçekleştirdikten sonra sonraki ileti havuzuna çağrı ProcessMessage yapılmasından sorumludur. Örneğin, eşitlemeyle ilgili ileti havuzu bir kilidin alınmasına veya serbest bırakılmasına ve aşağı akış ileti havuzuna temsilci atanmasına neden olabilir.

Biçimlendirici kanal havuzu, kanal üzerinden gönderilmesi gereken bir ileti aldığında, çağrısı yaparak SyncProcessMessageiletiyi parametre olarak geçirir. Biçimlendirici havuzu daha sonra aktarım üst bilgisi dizisini oluşturur ve biçimlendirici havuzuna çağrılar GetRequestStream . Bu çağrı havuz zincirine iletilir ve herhangi bir havuz biçimlendirici havuzuna geri geçirilen bir istek akışı oluşturabilir. Bu çağrı döndürdüğünde ileti seri hale getirilir, ProcessMessage havuz zincirindeki ilk zincirde çağrılır ve ileti kanal havuzlarına geçirilir.

Kanal havuzları iletiyi aldıktan sonra akışa veri yazabilir, üst bilgi dizisine üst bilgiler ekleyebilir ve çağrıyı sonraki havuza iletmeden önce kendilerini havuz yığınına ekleyebilir. Çağrı zincirinin sonundaki aktarım havuzuna ulaştığında, aktarım havuzu üst bilgileri ve serileştirilmiş iletiyi kanal üzerinden işlemin tersine çevrildiği sunucuya gönderir.

İleti sunucu tarafına ulaştığında, aktarım havuzu akıştan üst bilgileri ve seri hale getirilmiş iletiyi alır ve bunları biçimlendirici havuzuna ulaşana kadar havuz zinciri üzerinden iletir. Biçimlendirici havuzu daha sonra iletiyi seri durumdan çıkartır ve iletinin bir yöntem çağrısına dönüştürüldüğü ve sunucu nesnesinin çağrıldığı uzaktan iletişime iletir.

Şunlara uygulanır