Я работаю в Silverlight 4 и внедряю дуплексную службу Polling с асинхронным шаблоном, используемым для обновления клиентов.
// interface for messages back to client
[OperationContract(IsOneWay = true, AsyncPattern=true)]
IAsyncResult BeginSendMessage(byte[] MessageData, AsyncCallback callback, object State);
void EndSendMessage(IAsyncResult result);
Я делаю обратный вызов клиенту, используя объект RequestState, который я определил, чтобы сохранитьотслеживать, к какому подключенному клиенту я отправил сообщение.
AsyncCallback callback = new AsyncCallback(this.MessageSent);
RequestState state = new RequestState { ConnectionNo = connectionno};
client.BeginSendMessage(MessageData, callback, state);
Я не вижу способа проверить наличие ошибки с помощью параметра IAsyncResult, который возвращается в обратном вызове.
Итак, мой вопрос: как я могу определить, что сообщение не отправлено?