Скачивание файла по исключению WebClient - PullRequest
1 голос
/ 15 апреля 2010

У меня проблема с загрузкой файлов определенных типов через WebClient. Таким образом, нет проблем с обычными типами - mp3, doc и другими, но когда я переименовываю расширение файла в config, он возвращает меня: InnerException = {System.Net.WebException: удаленный сервер возвратил ошибку: NotFound. ---> System.Net.WebException: удаленный сервер возвратил ошибку: NotFound. в System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse (IAsyncResult asyncResult)

когда я пытаюсь получить доступ к этому файлу в браузере (http://localhost:3182/Silverlight.config) - это обычный XML-файл внутри - сервер возвращает мне следующую страницу ошибки:

Ошибка сервера в «/» приложении.

Этот тип страницы не обслуживается. Описание. Запрошенный вами тип страницы не обслуживается, поскольку он был явно запрещен. Расширение .config может быть неправильным. Пожалуйста, просмотрите URL-адрес ниже и убедитесь, что он написан правильно.

Запрошенный URL: /Silverlight.config

Так что я полагаю, это происходит из-за некоторой конфигурации сервера, которая блокирует файлы неизвестного типа.

Загрузка кода проста:

WebClient webClient = new WebClient();
webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(webClient_OpenReadCompleted);                
webClient.OpenReadAsync(new Uri("../Silverlight.config", UriKind.RelativeOrAbsolute));

завершенный обработчик событий опущен для простоты.

1 Ответ

2 голосов
/ 15 апреля 2010

Я не уверен, что это возможно.

Расширение .config обрабатывается механизмом ASP.NET по соображениям безопасности (конфиденциальные данные, такие как строки подключения, должны храниться в безопасности и скрываться от неавторизованных средств просмотра).

Это означает, что посетители не могут просматривать содержимое вашего файла web.config, просто введя "www.example.com/web.config" в адресную строку своего браузера.

РЕДАКТИРОВАТЬ: на самом деле вы можете, но я не рекомендую это. Если вам действительно нужно это сделать, вы должны удалить сопоставление между расширением .config и фильтром ASP.NET ISAPI в IIS.

...