Udostępnij za pośrednictwem


RequestContext Klasa

Definicja

Zapewnia odpowiedź skorelowana z żądaniem przychodzącym.

public ref class RequestContext abstract : IDisposable
public abstract class RequestContext : IDisposable
type RequestContext = class
    interface IDisposable
Public MustInherit Class RequestContext
Implements IDisposable
Dziedziczenie
RequestContext
Implementuje

Uwagi

Kontekst żądania jest pobierany z obiektu IReplyChannel. Każda RequestContext hermetyzuje informacje wymagane do udzielenia odpowiedzi na żądanie, aby nie trzeba było blokować w kanale podczas oczekiwania na odebranie odpowiedzi na każdą wiadomość żądania.

W modelu RequestContext żądania/odpowiedzi obiekt jest linkiem między żądaniem, które pojawia się, a odpowiedzią, która wychodzi. Gdy serwer odbiera żądanie, udostępnia RequestContext wystąpienie reprezentujące żądanie do kanału. Kontekst żądania zawiera oryginalny komunikat żądania między innymi przydatnymi właściwościami. Ten kontekst żądania jest następnie oddzielony wewnątrz OperationContext elementu do pobierania przez usługę. Zazwyczaj używasz Current właściwości , aby uzyskać dostęp do żądania bieżącej operacji.

Wartość może mieć wartość RequestContextnull. Ponieważ rolą kontekstu żądania jest łączenie żądań z odpowiedziami, nie ma sensu mieć kontekstu żądania, gdy nie masz odpowiedzi, więc w tym przypadku kontekst jest ustawiony na null. W przypadku operacji jednokierunkowej na podstawie modelu żądania/odpowiedzi serwer odbiera żądania, ale nie wysyła odpowiedzi na klienta. Dlatego jeśli element RequestContext jest null nieoczekiwanie, sprawdź najpierw, czy kontrakt operacji to IsOneWay.

Uwaga specjalna dla użytkowników zarządzanego języka C++ pochodzącego z tej klasy:

  • Umieść kod oczyszczania (On)(Begin)Close (i/lub OnAbort), a nie w destruktorze.

  • Unikaj destruktorów: powodują one automatyczne generowanie IDisposablekompilatora .

  • Unikaj elementów członkowskich innych niż odwołania: mogą powodować automatyczne generowanie IDisposablekompilatora .

  • Unikaj finalizatorów; ale w przypadku dołączenia należy pominąć ostrzeżenie i wywołanie SuppressFinalize(Object) kompilacji oraz sam finalizator z (On)(Begin)Close (i/lub OnAbort), aby naśladować zachowanie wygenerowane IDisposable automatycznie.

Konstruktory

RequestContext()

Inicjuje nowe wystąpienie klasy RequestContext.

Właściwości

RequestMessage

Po przesłonięciu w klasie pochodnej zostanie wyświetlony komunikat zawierający żądanie.

Metody

Abort()

Po zastąpieniu w klasie pochodnej przerywa przetwarzanie żądania skojarzonego z kontekstem.

BeginReply(Message, AsyncCallback, Object)

Po zastąpieniu w klasie pochodnej rozpoczyna operację asynchroniczną, aby odpowiedzieć na żądanie skojarzone z bieżącym kontekstem.

BeginReply(Message, TimeSpan, AsyncCallback, Object)

Po zastąpieniu klasy pochodnej rozpoczyna operację asynchroniczną, aby odpowiedzieć na żądanie skojarzone z bieżącym kontekstem w określonym przedziale czasu.

Close()

Po zastąpieniu klasy pochodnej zamyka operację odpowiadającą kontekstowi żądania skojarzonemu z bieżącym kontekstem.

Close(TimeSpan)

Po zastąpieniu klasy pochodnej zamyka operację odpowiadającą kontekstowi żądania skojarzonego z bieżącym kontekstem w określonym przedziale czasu.

Dispose(Boolean)

Zwalnia zasoby skojarzone z kontekstem.

EndReply(IAsyncResult)

Po przesłonięcia w klasie pochodnej kończy operację asynchroniczną, aby odpowiedzieć na komunikat żądania.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
Reply(Message)

Gdy zastąpisz klasę pochodną, odpowiada na komunikat żądania.

Reply(Message, TimeSpan)

Gdy zastąpisz klasę pochodną, odpowiada na komunikat żądania w określonym przedziale czasu.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Jawne implementacje interfejsu

IDisposable.Dispose()

Zwalnia zarządzane i niezarządzane zasoby skojarzone z kontekstem.

Dotyczy