Если первый оператор возвращается true
, то весь оператор должен быть true
поэтому, вторая часть никогда не выполняется.
, Например:
$x = 5;
true or $x++;
echo $x; // 5
false or $x++;
echo $x; // 6
Поэтому, если Ваш запрос неудачен, он оценит die()
оператор и закончит сценарий.
Проблема, с которой вы столкнулись, заключается в том, что большинство API-интерфейсов фоновых потоков / рабочих создадут поток в состоянии многопоточного подразделения. Сообщение об ошибке указывает, что элемент управления требует, чтобы поток был однопоточным.
Вы можете обойти это, создав поток самостоятельно и указав состояние STA-квартиры в потоке.
var t = new Thread(MyThreadStartMethod);
t.SetApartmentState(ApartmentState.STA);
t.Start();