Получение «пути« ВАРИАНТЫ »запрещено».Исключение на веб-сайте ASP.NET - PullRequest
15 голосов
/ 12 мая 2010

Я получаю сообщение об ошибке System.Web.HttpException: Path 'OPTIONS' is forbidden., поскольку мы перевели наш веб-сайт на новую настройку сервера. Я не могу воссоздать ошибку, но я получаю электронные письма для этого исключения, по крайней мере, несколько раз в день. Любые идеи, что может быть причиной этого и как я могу это исправить?

EDIT: Трассировка стека:

at System.Web.HttpMethodNotAllowedHandler.ProcessRequest(HttpContext context)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

Нет каталогов или файлов с именем OPTIONS, и я считаю, что все разрешения правильные. Я нахожу некоторую информацию о возможной ссылке на EXCEL для получения данных с веб-сервера, но ничто так полно не объясняет, как и что происходит.

ИЗМЕНИТЬ СНОВА: Кажется, это связано с открытием файлов Excel в Internet Explorer.

Ответы [ 6 ]

18 голосов
/ 27 мая 2010

OPTION - это глагол, используемый «Обнаружение протокола провайдера интернет-публикаций Microsoft Data Access» (часть MS Office), чтобы сделать запрос, когда пользователь открывает URL-адрес из офисных приложений.

Чтобы создать проблему, перейдите в «Файл»> «Открыть» в Word / Excel 2003 и более поздних версиях и укажите полный URL-адрес файла. В качестве альтернативы, поместив ссылку на файл Excel на вашем сервере в офисном документе и нажав на нее.

Вы можете исправить это, добавив это в файл web.config с дополнительными строками для каждого типа файлов:

<httpHandlers>
  <add verb="*" path="*.xls" type="System.Web.StaticFileHandler" />
  <add verb="*" path="*.xlsx" type="System.Web.StaticFileHandler" />
</httpHandlers>
2 голосов
/ 12 мая 2010

Получаете ли вы какие-либо сообщения об ошибках пользователя или аналогичные.ОПЦИИ - это HTTP-глагол, который используется для определения возможностей сервера.Похоже, ваш новый веб-сервер не настроен на использование этого глагола, возможно, из соображений безопасности.Обычный веб-запрос от браузера не будет использовать этот глагол, и он часто используется вредоносными программами / ботами, сканирующими веб-серверы на предмет уязвимостей для использования.

0 голосов
/ 26 августа 2013

Мне кажется, это хорошо работает:

<httpHandlers>
  <add verb="GET,HEAD,POST" path="*" type="System.Web.DefaultHttpHandler" validate="true"/>
  <add verb="OPTIONS" path="*" type="System.Web.StaticFileHandler" />
</httpHandlers>
0 голосов
/ 31 октября 2012

Эта ошибка возникает при попытке открыть .xls с локального хоста. В случае IIS не выдает никакой ошибки.

Вы можете использовать

<httpHandlers>
  <add verb="*" path="*.xls" type="System.Web.StaticFileHandler" />
  <add verb="*" path="*.xlsx" type="System.Web.StaticFileHandler" />
</httpHandlers>

в web.config.

0 голосов
/ 17 ноября 2011

Когда я получил эту точную ошибку при попытке отправить файл .xls с веб-страницы ASP.Net, это произошло из-за того, что я пропустил расширение имени файла здесь:

Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName);
Response.ContentType = "application/vnd.ms-excel";

То, что fileName должно быть fileName.xls

0 голосов
/ 12 мая 2010

Это, вероятно, разрешения в вашей системе. Чтобы получить немного больше подробностей, поисковый запрос Google «Путь запрещен» - часть OPTIONS - это строка, специфичная для вашего приложения.

Еще лучше, немного напрягите свой мозг и подумайте о части вашего приложения, которая пытается получить доступ к URL или пути к файлу с этим именем.

...