C# DNS samples

Moved from #404. This one was fine, I think it just needed another rebase (and some of the stuff I did on Friday conflicted, whoops).