Epoxy primers work, but are a hassle because you have to mix batches. For rust prevention on small stuff, I use Pettit Rustlok primer available for $30 a quart at your marine store. It can be painted over rust, is chemically impervious, and is very chip resistant. The stuff is moisture cured as well, so it dries even in cold and humid weather. Brush application only.

The rattle can stuff and most 1-part primers are porous and wont seal out moisture. The metal will continue to rust underneath.