My bet it is time to replace the solenoid. Before you do that, if you have a three post solenoid, remove it and scuff up the surface which contacts the frame. If you don't have a good ground, the problem you describe will result. If you have a four post solenoid, one of the small leads will be the ground wire, meaning you have to do the something where it is bolted to the frame. If this does not solve the problem, time to replace.