Udostępnij za pośrednictwem


IOutputChannel.BeginSend Metoda

Definicja

Rozpoczyna operację asynchroniczną w celu wysłania komunikatu.

Przeciążenia

BeginSend(Message, AsyncCallback, Object)

Rozpoczyna operację asynchroniczną w celu przesłania komunikatu do miejsca docelowego kanału wyjściowego.

BeginSend(Message, TimeSpan, AsyncCallback, Object)

Rozpoczyna operację asynchroniczną w celu przesłania komunikatu do miejsca docelowego kanału wyjściowego w określonym przedziale czasu.

BeginSend(Message, AsyncCallback, Object)

Źródło:
IOutputChannel.cs

Rozpoczyna operację asynchroniczną w celu przesłania komunikatu do miejsca docelowego kanału wyjściowego.

public:
 IAsyncResult ^ BeginSend(System::ServiceModel::Channels::Message ^ message, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginSend (System.ServiceModel.Channels.Message message, AsyncCallback callback, object state);
abstract member BeginSend : System.ServiceModel.Channels.Message * AsyncCallback * obj -> IAsyncResult
Public Function BeginSend (message As Message, callback As AsyncCallback, state As Object) As IAsyncResult

Parametry

message
Message

Wysyłane Message w kanale wyjściowym.

callback
AsyncCallback

Delegat AsyncCallback .

state
Object

Obiekt określony przez aplikację, który zawiera informacje o stanie skojarzone z operacją wysyłania asynchronicznego.

Zwraca

Element IAsyncResult odwołujący się do asynchronicznej transmisji komunikatów.

Przykłady

Poniższy kod ilustruje sposób implementacji tej metody:

public IAsyncResult BeginReceiveRequest(TimeSpan timeout, AsyncCallback callback, object state)
{
    ReceiveRequestAsyncResult result = new ReceiveRequestAsyncResult(this, timeout, callback, state);
    result.Begin();
    return result;
}

Uwagi

Miejsce docelowe komunikatów wysyłanych w kanale wyjściowym jest określone w czasie tworzenia kanału.

Metoda BeginSend nie gwarantuje dostarczania komunikatu do zdalnego punktu końcowego. Jeśli wymagane są gwarancje dostarczenia, użyj polecenia IOutputSessionChannel.

Jeśli wysłana wiadomość jest większa, zostanie zgłoszony maksymalny rozmiar komunikatu dozwolony przez używane QuotaExceededException powiązanie. Maksymalny rozmiar komunikatu MaxReceivedMessageSize jest ustawiany przez właściwość . Wartość domyślna to 65536 bajtów.

Dotyczy

BeginSend(Message, TimeSpan, AsyncCallback, Object)

Źródło:
IOutputChannel.cs

Rozpoczyna operację asynchroniczną w celu przesłania komunikatu do miejsca docelowego kanału wyjściowego w określonym przedziale czasu.

public:
 IAsyncResult ^ BeginSend(System::ServiceModel::Channels::Message ^ message, TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginSend (System.ServiceModel.Channels.Message message, TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginSend : System.ServiceModel.Channels.Message * TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginSend (message As Message, timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult

Parametry

message
Message

Wysyłane Message w kanale wyjściowym.

timeout
TimeSpan

Określa TimeSpan , jak długo operacja wysyłania musi zakończyć się przed przekroczeniem limitu czasu.

callback
AsyncCallback

Delegat AsyncCallback , który odbiera powiadomienie o zakończeniu operacji asynchronicznej.

state
Object

Obiekt określony przez aplikację, który zawiera informacje o stanie skojarzone z operacją wysyłania asynchronicznego.

Zwraca

Element IAsyncResult , który odwołuje się do operacji wysyłania asynchronicznego.

Przykłady

Poniższy kod ilustruje sposób implementacji tej metody:

public RequestContext EndReceiveRequest(IAsyncResult result)
{
    return ReceiveRequestAsyncResult.End(result);
}

Uwagi

Miejsce docelowe komunikatów wysyłanych w kanale wyjściowym jest określone w czasie tworzenia kanału.

Metoda BeginSend nie gwarantuje dostarczania komunikatu do zdalnego punktu końcowego. Jeśli wymagane są gwarancje dostarczenia, użyj polecenia IOutputSessionChannel.

Jeśli wysłana wiadomość jest większa, zostanie zgłoszony maksymalny rozmiar komunikatu dozwolony przez używane QuotaExceededException powiązanie. Maksymalny rozmiar komunikatu MaxReceivedMessageSize jest ustawiany przez właściwość . Wartość domyślna to 65536 bajtów.

Uwagi dotyczące implementowania

Operacja powinna zgłosić TimeoutException wartość , jeśli określona timeout wartość została przekroczona.

Dotyczy