Faça upload de um documento para uma lista do SharePoint do Client Side Object Model

Preciso carregar um documento em uma lista ou pasta do SharePoint usando o Modelo de Objeto do Lado do Cliente do .NET (C #). Qual é a melhor maneira de fazer isso?

Os requisitos são os seguintes:

Definir valores de metadados

Nenhuma limitação no tamanho do arquivo

Deve trabalhar com bibliotecas que excedem o limite de exibição de lista

questionAnswers(10)

yourAnswerToTheQuestion