Upload de arquivo para o servidor Web usando C #

Estou tentando fazer o upload do arquivo no servidor da Web da seguinte forma, usando C #

try
{
    // create WebClient object
    WebClient client = new WebClient();

    string myFile = @"D:\test_file.txt";
    client.Credentials = CredentialCache.DefaultCredentials;

    // client.UploadFile(@"http://mywebserver/myFile", "PUT", myFile);
    client.UploadFile(@"http://localhost/uploads", "PUT", myFile);
    client.Dispose();
}
catch (Exception err)
{
    MessageBox.Show(err.Message);
}

Mas toda vez que estou recebendo esse erro:

O servidor remoto retornou um erro: (405) Método não permitido.

questionAnswers(3)

yourAnswerToTheQuestion