Как я могу выполнить запросы NHibenate асинхронно?

Один способ увеличить масштабируемость серверного приложения состоит в том, чтобы выполнить операцию IO-bound (читающий файлы, сокеты, веб-запросы, запросы к базе данных и т.д.) асинхронно. Это не означает, выполняет их в ThreadPool, который просто заблокирует потоки, в то время как операция выполняется. Корректный путь состоит в том, чтобы использовать асинхронный API (BeginRead, BeginGetResponse, BeginExecuteReader и т.д.). Проблема хорошо описана в CLR vi C# книга.

Вот некоторая статья об асинхронных запросах в Linq к SQL.

Какие-либо пути состоят в том, чтобы выполнить запрос Nhibernate asynchonously? Что относительно Linq к NHibernate?

Спасибо, Andrey

20
задан andrey.tsykunov 28 November 2012 в 14:42
поделиться

1 ответ

К сожалению, нет. NHibernate не раскрывает внутреннюю реализацию выполнения команд, как это делает L2S.

Вам нужно будет использовать пул потоков ИЛИ создать патч для NH, чтобы добавить поддержку асинхронных запросов. Это было бы очень приветствовано сообществом и стало бы хорошим упражнением (но это совсем не тривиально)

9
ответ дан 30 November 2019 в 00:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: