Cannon was in action minutes later when he tipped Kenny Cooper's powerful effort over the bar to keep the scores level.
Dallas finally took the lead when Whitecaps defender Brad Rusin diverted the ball into his own net from a corner in the 29th minute.
The visitors were almost level following an error from Dallas keeper Raul Fernandez as he flapped at Nigel Reo-Coker's cross into the area, leaving Matt Watson with an open goal but his effort was cleared off the line by George John.
After the break, Dallas doubled their lead when Cooper's shot was deflected into the path of Perez and he nodded the ball past Cannon into the net.
Late in the game, the hosts had the chance to make it three but Fabian Castillo was denied by another good save by Cannon as Dallas closed out the win at FC Dallas Stadium.