MSSQL 2005 (Yukon) – работа с очередями и асинхронная обработка данных
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: реферат биография, скачать на телефон шпаргалки
| Добавил(а) на сайт: Kozin.
Предыдущая страница реферата | 12 13 14 15 16 17 18 19 20 21 22 | Следующая страница реферата
SqlConnection asyncConnect = new SqlConnection(
_connectionString + "Asynchronous Processing=true;");
SqlCommand cmd2 = new SqlCommand(
"WAITFOR (Receive convert(xml, message_body) from NotifyTestQueue)",
asyncConnect);
asyncConnect.Open();
cmd2.BeginExecuteReader(
new AsyncCallback(Callback),
cmd2,
CommandBehavior.CloseConnection);
}
public void Callback(IAsyncResult result)
{
SqlDataReader DR = null;
try
{
// Объект SqlCommand, для вызова асинхронного EndExecuteReader, был
// передан при вызове BeginExecuteReader, иначе из этого метода
// добраться до него было бы проблематично
SqlCommand cmd = (SqlCommand)result.AsyncState;
DR = cmd.EndExecuteReader(result);
if (DR.Read())
Console.WriteLine(DR[0]);
DR.Close();
}
catch (Exception ex)
{
// Так как этот метод вызывается совсем из другого потока, то здесь
// единственный шанс отловить и обработать какое-либо исключение.
//
Console.WriteLine(
String.Format("Last error: {0}", ex.Message));
}
finally
{
if (DR != null && !DR.IsClosed)
{
DR.Close();
}
}
}
}
}