Проблема со старым приложением Biz (не разработанным или разработанным мной).
Его оркестровка получает определенное сообщение, которое затем подается в форму Решения. Если применяется приведенная ниже логика c (как непосредственно скопированная / вставленная из выражения первой ветви формы), она должна go этот маршрут.
msg_inputCanonical.CRUD == "D" && msg_inputCanonical.DbTable == "Staff"
Однако я могу увидеть его завершение (используя Orchestration Отладчик), поскольку он следует за ветвью Else и в конечном итоге достигает конечной формы.
Я проверил msg_inputCanonical, чтобы подтвердить проходящие значения (как показано ниже, извлеченные из части Tracked Message), и вижу, что она соответствует строковое условие в соответствии с его отображением - CRUD = ChOp;
<DbTable>Staff</DbTable>
<ChOp>D</ChOp>
Я не вижу ничего другого, что может повлиять на этот маршрут, поэтому кто-нибудь может подумать о каких-либо причудах, которые могут его вызывать?
Примечание: я изменил хранимую процедуру WCF- SQL, которая генерирует msg_inputCanonical, поскольку до этого она не обрезала какие-либо значения CRUD / DbTable и оставляла мертвое пространство. также карта, которая использует фунтоиды ltrim / rtrim в свойстве ChOp
, но опять же - не может видеть, какой вред подрезает готовое поле trim'd бы.
Я также попытался реплицировать logi c в среде разработчика, и он работает, как и ожидалось, по правильной ветви, когда я передаю сообщение через .