Kanoniczny kod HTTP POST?

Widziałem tak wiele implementacji wysyłania posta http i co prawda nie rozumiem w pełni podstawowych szczegółów, aby wiedzieć, co jest wymagane.

Jaki jest zwięzły / poprawny / kanoniczny kod do wysyłania HTTP POST w C # .NET 3.5?

Chcę taką ogólną metodę

public string SendPost(string url, string data)

które można dodać do biblioteki i zawsze używać do wysyłania danych i zwraca odpowiedź serwera.

questionAnswers(3)

yourAnswerToTheQuestion