The existence of optimal binary self-dual codes is a long-standing research problem. In this paper, we present some results concerning the decomposition of binary self-dual codes with a dihedral automorphism group D2p, where p is a prime. These results are applied to construct new self-dual codes with length 78 or 116. We obtain 16 inequivalent self-dual [78,39,14] codes, four of which have new weight enumerators. We also show that there are at least 141 inequivalent self-dual [116, 58,18] codes, most of which are new up to equivalence. Meanwhile, we give some restrictions on the weight enumerators of singly even self-dual codes. We use these restrictions to exclude some possible weight enumerators of self-dual codes with lengths 74, 76, 82, 98 and 100.