IOutputChannel.BeginSend Yöntem

Tanım

İleti göndermek için zaman uyumsuz bir işlem başlatır.

Aşırı Yüklemeler

BeginSend(Message, AsyncCallback, Object)

Bir iletiyi çıkış kanalının hedefine iletmek için zaman uyumsuz bir işlem başlatır.

BeginSend(Message, TimeSpan, AsyncCallback, Object)

Belirli bir zaman aralığı içinde bir iletiyi çıkış kanalının hedefine iletmek için zaman uyumsuz bir işlem başlatır.

BeginSend(Message, AsyncCallback, Object)

Kaynak:
IOutputChannel.cs

Bir iletiyi çıkış kanalının hedefine iletmek için zaman uyumsuz bir işlem başlatır.

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

Parametreler

message
Message

Message Çıkış kanalında gönderilen.

callback
AsyncCallback

Temsilci AsyncCallback .

state
Object

Uygulama tarafından belirtilen ve zaman uyumsuz gönderme işlemiyle ilişkili durum bilgilerini içeren bir nesne.

Döndürülenler

Zaman IAsyncResult uyumsuz ileti iletimine başvuran.

Örnekler

Aşağıdaki kodda bu yöntemin nasıl uygulandığı gösterilmektedir:

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

Açıklamalar

Çıkış kanalında gönderilen iletilerin hedefi, kanal oluşturma zamanında belirtilir.

yöntemi, BeginSend iletinin uzak uç noktaya teslimini garanti etmez. Teslim garantileri gerekiyorsa kullanın IOutputSessionChannel.

Gönderilen ileti, kullanılan bağlama tarafından izin verilen en büyük ileti boyutu kadar büyükse, bir QuotaExceededException oluşturulur. İleti boyutu üst sınırı özelliği tarafından MaxReceivedMessageSize ayarlanır. Varsayılan değer 65536 bayttır.

Şunlara uygulanır

BeginSend(Message, TimeSpan, AsyncCallback, Object)

Kaynak:
IOutputChannel.cs

Belirli bir zaman aralığı içinde bir iletiyi çıkış kanalının hedefine iletmek için zaman uyumsuz bir işlem başlatır.

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

Parametreler

message
Message

Message Çıkış kanalında gönderilen.

timeout
TimeSpan

TimeSpan gönderme işleminin zaman aşımına uğramadan önce ne kadar süreyle tamamlanması gerekdiğini belirtir.

callback
AsyncCallback

Zaman AsyncCallback uyumsuz işlemin bildirimini alan temsilci tamamlama işlemini gönderir.

state
Object

Uygulama tarafından belirtilen ve zaman uyumsuz gönderme işlemiyle ilişkili durum bilgilerini içeren bir nesne.

Döndürülenler

Zaman IAsyncResult uyumsuz gönderme işlemine başvuran.

Örnekler

Aşağıdaki kodda bu yöntemin nasıl uygulandığı gösterilmektedir:

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

Açıklamalar

Çıkış kanalında gönderilen iletilerin hedefi, kanal oluşturma zamanında belirtilir.

yöntemi, BeginSend iletinin uzak uç noktaya teslimini garanti etmez. Teslim garantileri gerekiyorsa kullanın IOutputSessionChannel.

Gönderilen ileti, kullanılan bağlama tarafından izin verilen en büyük ileti boyutu kadar büyükse, bir QuotaExceededException oluşturulur. İleti boyutu üst sınırı özelliği tarafından MaxReceivedMessageSize ayarlanır. Varsayılan değer 65536 bayttır.

Uygulayanlara Notlar

Belirtilen timeout aşılırsa işlem bir TimeoutException oluşturmalıdır.

Şunlara uygulanır