Я погуглил, выпил, выгляжу высоко и низко.
Я ищу пример использования переменной транзакции типа object, которая передается в метод Execute пользовательской задачи.
Я заметил, что когда у меня есть объект транзакции, он имеет тип System .__ ComObject.
Что мне нужно сделать, это передать транзакцию объекту веб-службе. Веб-сервис каким-то образом регистрируется в этой транзакции при открытии соединения, запускаем sql. Кикер в том случае, если пакет терпит неудачу дальше, есть SQL в откате веб-службы. Теперь DTC включен и прямо сейчас, если пользовательская задача не выполняется, пакет выполняет откат, но если одна пользовательская задача выполнена успешно, а другая не выполнена, работа с пользовательской задачей все еще фиксируется.
Теперь, если это нельзя использовать вне метода Execute, я полагаю, я могу перенести код веб-сервиса в метод Execute
Чтобы получить некоторую историю, мне пришлось создать свою пользовательскую задачу веб-сервиса, потому что встроенная не поддерживает аутентификацию.
CredentialCache с IIS против персонального сервера разработки