Я рассматриваю пример экзаменационных вопросов к экзамену Microsoft 70-483 «Программирование на C #».
Есть один вопрос, ответ на который я не понимаю и не смог найти ничего отема в Интернете.
Вопрос:
Вы реализуете метод с именем ProcessFile, который извлекает файлы данных с веб-серверов и FTP-серверов.Метод ProcessFile () имеет следующую сигнатуру метода:Открытый void ProcessFile (Guid dataField, строка dataFileUri)Каждый раз, когда вызывается метод ProcessFile (), он должен извлечь уникальный файл данных и затем сохранить файл данных на диск.Вам необходимо завершить реализацию метода ProcessFile ().Какой сегмент кода вы должны использовать?
FileWebRequest request = FileWebRequest.Create(dataFileUri) as FileWebRequest;
using (FileWebResponse response = request.GetResponse() as FileWebResponse)
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
using (StreamWriter writer = new StreamWriter(dataFieldId + ".dat"))
{
writer.Write(reader.ReadToEnd());
}
-или-
WebRequest request = WebRequest.Create(dataFileUri);
using (WebResponse response = request.GetResponse())
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
using (StreamWriter writer = new StreamWriter(dataFieldId + ".dat"))
{
writer.Write(reader.ReadToEnd());
}
По мнению лиц, задающих вопросы, последний фрагмент, использующий "WebRequest", является правильнымодин.Но я не могу понять, почему «FileWebRequest» не так.Имейте в виду, что вопросы, которые я задаю, много раз были неправильными в прошлом, так что, может быть, это тоже неправильно?