Ну, вы могли бы сделать это с делегатом.
Идея состояла бы в том, чтобы создать делегата в вашей веб-части-потребителе, провайдер мог бы создать экземпляр этого делегата, а когда потребитель закончил, вызвать делегата. Это может показаться сложным, если вы никогда не имели дело с делегатами, но на самом деле это довольно элегантное решение.
Посмотрите здесь , как создать делегата.
Как принцип хорошего дизайна, ребенок не должен звонить родителю. Вот тут и вступает делегат. Дочерний объект предоставляет делегат, родитель подписывается на этот делегат, говоря «когда вы закончите, сообщите мне», и потомок просто вызывает делегат, который запускает метод в родительском объекте.