Я установил Reactive Extensions для .Net3.5 SP1 V1.0.2856.0. Все работало отлично я построю обслуживание окон на основе одной строки кодаСбой после установки обновления Windows
Scheduler.NewThread.Schedule(action, new DateTimeOffset(startDate));
Нити начинается вовремя, однако после того, как несколько мгновений приложения выходит из строя: -
System.ArgumentOutOfRangeException was unhandled
Message="Number must be either non-negative and less than or equal to Int32.MaxValue or -1.\r\nParameter name: timeout"
Source="mscorlib"
ParamName="timeout"
StackTrace:
at System.Threading.Thread.Sleep(TimeSpan timeout)
at System.Concurrency.NewThreadScheduler.<>c__DisplayClass1.<Schedule>b__0()
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException:
деинсталлировать обновление окна и используемым вариант восстановления установщика Reactive Extensions. Все еще ничего не работает. Я думаю, что некоторая ценность в реестре изменена и должна быть сохранена.
Проблема в том, что я не писал Thread.Sleep. он называется внутренне. Должна быть какая-то конфигурация, касающаяся изменения RX во время обновления Windows. Вы знаете, где проверить? – Costa
Нет конфигурации уровня системы с Rx (конечно, никаких параметров реестра). Я считаю, что установки v1.x (теперь лишены) GAC'd, но все. Я не понимаю, почему какой-либо внутренний код, когда-либо называемый 'Thread.Sleep', хотя и кажется немного странным. Тем не менее, между Rx 1.0 и 1.x были, безусловно, нарушены изменения. Если вам нужен ответ, вам нужно предоставить больше контекста. –
Просто проверил исходный код, в текущей версии нет вызова Thread.Sleep; это не значит, что этого не было в 1.x - но у меня нет копии, доступной для размышления в данный момент. –