I prefer to use connman (systemctl enable connman && systemctl start connman). WiFi configuration as described e.g. in my blog WiFi access on Intel® Galileo with Yocto* Linux | Intel® Developer Zone.
Settings are permanent and no need to go into extra config files (unless you use 802.1x enterprise hotspots - see e.g. IoT - Connecting Intel(R) Edison to an IEEE 802.1x Enterprise Hotspot via connman | Intel® Developer Zone)
Another cause of addresses not resolving is caused by the journals and the root partition running out of space. After the root has run out of space, the dhcp daemon doesn't have enough space to write to /etc/resolv.conf. This can be confirmed with the console commands df - to check diskspace and cat /ect/resolv.conf - to verify dhcp has transferred its answers from your router to the Edison.