Один способ увеличить масштабируемость серверного приложения состоит в том, чтобы выполнить операцию IO-bound (читающий файлы, сокеты, веб-запросы, запросы к базе данных и т.д.) асинхронно. Это не означает, выполняет их в ThreadPool, который просто заблокирует потоки, в то время как операция выполняется. Корректный путь состоит в том, чтобы использовать асинхронный API (BeginRead, BeginGetResponse, BeginExecuteReader и т.д.). Проблема хорошо описана в CLR vi C# книга.
Вот некоторая статья об асинхронных запросах в Linq к SQL.
Какие-либо пути состоят в том, чтобы выполнить запрос Nhibernate asynchonously? Что относительно Linq к NHibernate?
Спасибо, Andrey
К сожалению, нет. NHibernate не раскрывает внутреннюю реализацию выполнения команд, как это делает L2S.
Вам нужно будет использовать пул потоков ИЛИ создать патч для NH, чтобы добавить поддержку асинхронных запросов. Это было бы очень приветствовано сообществом и стало бы хорошим упражнением (но это совсем не тривиально)