BinaryServerFormatterSink.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 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.