SdlChannelSink.ProcessMessage Yöntem
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.
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.