Была ли сохранена document1
до вызова этого кода? Если нет, его нет в базе данных для извлечения через getDocumentByID()
.
Я предполагаю, что эта строка была скопирована сюда неправильно, потому что «noteID» не является NoteID или переменной, содержащей NoteID, это строка.
doc = thisDB.getDocumentByID("noteID");
Можно исполнить роль пользователя, который имеет необходимые права. Существует статья о MSDN, который описывает, как сделать это.
Вы хотите исполнить роль пользователя, который действительно имеет права получить доступ к файлу.
Я рекомендую использовать класс как это - http://www.codeproject.com/KB/cs/zetaimpersonator.aspx. Это скрывает всю противную реализацию выполнения олицетворения.
using (new Impersonator("myUsername", "myDomainname", "myPassword"))
{
string fileText = File.ReadAllText("c:\test.txt");
Console.WriteLine(fileText);
}