Реактивные расширения в коде зерна Орлеана - PullRequest
2 голосов
/ 10 марта 2019

В проекте https://github.com/dotnet/reactive произошло серьезное обновление:

v4.0 изменения

В Ix Async 4.0 произошли серьезные изменения по сравнению с предыдущими версиями, посколькупервая реализация LINQ для поддержки новой функции асинхронных потоков C # 8. Это означает, что для целей .NET Standard 2.1 и .NET Core 3 мы используем встроенные интерфейсы для IAsyncEnumerable и друзей.На других платформах мы предоставляем реализацию, поэтому вы можете использовать await foreach и создавать асинхронные итераторы, как и следовало ожидать.Типы будут унифицированы с системными, где платформа предоставляет это.

Здесь есть много критических изменений;готовится полный набор заметок об изменениях.

Может ли эта библиотека использоваться в коде Орлеана для обработки потоков в зернах?Мне известно, что RX использует свой собственный планировщик для запуска наблюдателей и подписок (например, ObserveOn() и SubscribeOn()), и мне любопытно, будет ли это противоречить собственному планировщику Орлеана или есть способ заставить RX уважать,или используйте средство запуска задач Орлеана, передав его в RX описанными выше методами.

1 Ответ

1 голос
/ 14 марта 2019

Согласно последнему обновлению проблема GitHub # 315 , Rx.NET не поддерживается в Орлеане.Теоретически это должно работать, и было предложено взглянуть на что-то вроде:

var rxScheduler = new TaskPoolScheduler(new TaskFactory(RuntimeContext.Current));

Я также не нашел ничего полезного в истории канала Гиттера .

...