BinaryServerFormatterSink.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 başlık olan dönüş iletisine 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 bir durum değeri.

Uygulamalar

Açıklamalar

Proxy'nin işi, üzerinde çağrılan bir yöntem çağrısını iletiye dönüştürmektir. arabirimini IMessage uygulayan ileti, ileti havuzu nesneleri çağrılarak ProcessMessage istemci ucundan sunucu ucuna geçirilir. İleti havuzları birbirine zincirlenir, yani her ileti havuzu, geçerli ileti havuzu işini tamamladıktan sonra sonraki ileti havuzuna çağrıdan ProcessMessage 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çirilecek 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 bilgi ekleyebilir ve çağrıyı sonraki havuza iletmeden önce kendilerini havuz yığınına ekleyebilir. Çağrı, zincirin sonundaki aktarım havuzuna ulaştığında, aktarım havuzu üst bilgileri ve seri hale getirilmiş iletiyi kanal üzerinden sunucuya gönderir ve burada işlem geri alınır.

İleti sunucu tarafına geldiğinde, aktarım havuzu akıştan üst bilgileri ve seri hale getirilmiş iletiyi alır ve biçimlendirici havuzuna ulaşılana kadar bunları havuz zinciri üzerinden iletir. Biçimlendirici havuzu daha sonra iletiyi seri durumdan çıkararak uzaktan iletişim altyapısına iletir. Ardından uzaktan iletişim altyapısı iletiyi bir yöntem çağrısına dönüştürür ve sunucu nesnesini çağırır.

Şunlara uygulanır