Если вы используете VCS, такой как SVN или GIT, вы можете просто воссоздать файл с тем же именем и в том же месте, что достаточно.
Вы должны кодировать только аргумент, а не весь URL-адрес, поэтому попробуйте:
string url = "http://www.stackoverflow.com?question=" + HttpUtility.UrlEncode("a sentence with spaces");
WebRequest r = WebRequest.Create(url);
r.Method = "POST";
r.ContentLength = encoded.Length;
WebResponse response = r.GetResponse();
Кодирование всего URL-адреса будет означать: // и? тоже закодированы. Закодированная строка больше не является действительным URL.
UrlEncode следует использовать только в строке запроса. Попробуйте следующее:
string query = "a sentence with spaces";
string encoded = "http://www.stackoverflow.com/?question=" + HttpUtility.UrlEncode(query);
Текущая версия вашего кода кодирует косую черту и двоеточие в URL, что сбивает с толку веб-запрос.