InstanceContext.GetServiceInstance Metoda

Definicja

Zwraca wystąpienie usługi.

Przeciążenia

GetServiceInstance()

Zwraca wystąpienie usługi dla kontekstu wystąpienia.

GetServiceInstance(Message)

Zwraca wystąpienie usługi dla kontekstu wystąpienia w odpowiedzi na przychodzący komunikat.

GetServiceInstance()

Zwraca wystąpienie usługi dla kontekstu wystąpienia.

public:
 System::Object ^ GetServiceInstance();
public object GetServiceInstance ();
member this.GetServiceInstance : unit -> obj
Public Function GetServiceInstance () As Object

Zwraca

Object

Obiekt reprezentujący wystąpienie usługi.

Wyjątki

Wystąpienie usługi jest w stanie tworzenia lub otwierania lub nie jest inicjowane.

Wystąpienie usługi zostało przerwane.

Wystąpienie usługi zostało już zamknięte i nie można go modyfikować w tych stanach.

Wystąpienie usługi jest uszkodzone i nie można go modyfikować w tych stanach.

Przykłady

Uri baseAddress = new Uri("http://localhost:8000/ServiceModelSamples/service");

// Create a ServiceHost for the CalculatorService type and provide the base address.
using (ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress))
{
    serviceHost.Open();
    OperationContext operationContext = OperationContext.Current;
    InstanceContext instanceContext = operationContext.InstanceContext;
    CalculatorService service = (CalculatorService) instanceContext.GetServiceInstance();
}

Dotyczy

GetServiceInstance(Message)

Zwraca wystąpienie usługi dla kontekstu wystąpienia w odpowiedzi na przychodzący komunikat.

public:
 System::Object ^ GetServiceInstance(System::ServiceModel::Channels::Message ^ message);
public object GetServiceInstance (System.ServiceModel.Channels.Message message);
member this.GetServiceInstance : System.ServiceModel.Channels.Message -> obj
Public Function GetServiceInstance (message As Message) As Object

Parametry

message
Message

Przychodzący komunikat, który wyzwolił utworzenie obiektu usługi.

Zwraca

Object

Obiekt reprezentujący wystąpienie usługi.

Wyjątki

Wystąpienie usługi jest w stanie tworzenia lub otwierania lub nie jest inicjowane.

Wystąpienie usługi zostało przerwane.

Wystąpienie usługi zostało już zamknięte i nie można go modyfikować w tych stanach.

Wystąpienie usługi jest uszkodzone i nie można go modyfikować w tych stanach.

Przykłady

Uri baseAddress = new Uri("http://localhost:8000/ServiceModelSamples/service");

// Create a ServiceHost for the CalculatorService type and provide the base address.
using (ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress))
{
    serviceHost.Open();
    OperationContext operationContext = OperationContext.Current;
    InstanceContext instanceContext = operationContext.InstanceContext;
    CalculatorService service = (CalculatorService)instanceContext.GetServiceInstance(msg);
}

Uwagi

Ogólny pomysł polega na tym, że tworzysz tylko wystąpienie usługi po nadejściu komunikatu skierowanego do niego, wywołując metodę Open; jeśli żaden komunikat nie zostanie wyświetlony, nie InstanceContext zostanie utworzony i żaden obiekt usługi nie zostanie utworzony, a więc zasoby nie zostaną wdrożone do momentu rzeczywistego wymagania.

Dotyczy