Мы обновили нашу кодовую базу, чтобы использовать async/await, но многие ранее работавшие методы теперь дают сбой из-за нового асинхронного кода (частая проблема — HttpContext = null). Я не знаю, как обойти этот метод IComparer.Compare(). Любые идеи? Кажется, я не могу использовать асинхронную задачу в методе сравнения:
public int Compare(myClass x, myClass y)
{
int someInteger;
// Standard, boring sorting code here.
// This is an MVC application calling into an Async method() here...
var xx = x.CallNewAsyncMethod();
var yy = y.CallNewAsyncMethod();
// Work with xx and yy now...
return someInteger;
}
Если мне не удается сделать этот метод .NET IComparer.Compare() асинхронным, есть ли какие-либо другие альтернативы (например, LINQ), которые я мог бы использовать для сортировки своих классов? Следует отметить одну вещь: я упростил приведенный выше код, но там действительно много всего происходит, и наш код сортировки не является тривиальным. Есть около 10 различных видов сортировки, которые мы могли бы использовать, и каждая сортировка на самом деле представляет собой трехуровневую сортировку (сортировка по a, затем по b, затем по c).
Спасибо за вашу помощь!