Been there before. How about you go to an autobody or home store and ask for a Reveal spray can with glass mixing bottle. I think they are about 6 bucks. You can then buy a quality primer sealer and mix and use what you need. The canisters are precharged and you get a glass bottle for mixing the sealer or paint in. When the charged canister runs out, you just throw away and buy another for about 3-4 bucks. I have sprayed many a things with them including car paints. Better than rattle can and from my guess, they last much longer than a can.
Oh yeah, almost forgot, use epoxy primer IMHO.