Могут ли блоки C# потока данных иметь состояние? - PullRequest
0 голосов
/ 05 февраля 2020

Я изучаю C# Поток данных TPL и ознакомился с некоторыми из базовых c блоков. Однако я начинаю задумываться, как настроить более сложные блоки для моего приложения.

Например, допустим, у меня есть блок действия, который получает целые числа и записывает их в базу данных. Когда я настраиваю этот блок действий, мне кажется, что я просто даю ему функцию без сохранения состояния для выполнения всякий раз, когда он получает данные.

Однако кажется, что этот блок должен отвечать за установление и мониторинг соединения с базой данных, которое, следовательно, заставляет блок потока данных иметь состояние.

Кроме того, скажем, я хочу, чтобы этот блок действий имел свойство «масштабирования», при котором он может масштабировать данные перед записью в базу данных. Я также хочу, чтобы это свойство масштабирования было регулируемым, чтобы кто-то мог изменить масштабный коэффициент на лету.

В обоих этих случаях блок действий требует знания некоторого состояния.

Какова типичная процедура построения блоков потока данных, которые обладают состоянием?

...