У меня есть действие, с которым мои пользователи могут загрузить файл. URL выглядеть следующим образом:Запрос объекта сеанса имеет значение null, если параметр string заканчивается расширением файла
http://mywebsite.lan/report/GetReport/reportname.xlsx
Для сервера для обработки имен файлов, как параметр, я должен добавить это в моем web.config
:
<system.webServer>
<modules>
<remove name="UrlRoutingModule-4.0" />
<add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
</modules>
</system.webServer>
действие само по себе работает довольно хорошо, пользователь вызывает URL-адрес, а сервер возвращает файл в параметре.
У меня есть фильтр авторизации на контроллере, который обрабатывает этот запрос, который обрабатывает все мои проверки подлинности и авторизацию процесса загрузки и фильтр действий для действия, которое проверяет наличие определенного разрешения. Оба этих фильтра используют объект Session для хранения информации и прав пользователя.
Проблема заключается в том, что при использовании этого URL-адреса объект сеанса имеет значение null в фильтре действий, что приводит к их сбою при попытке получить доступ к клавишам создания на нем. Тем не менее объект сеанса существует в самом действии.
После некоторого отслеживания, я обнаружил, что при добавлении хвостохранилищ/в URL, объект сеанса снова был:
http://mywebsite.lan/report/GetReport/reportname.xlsx/
Я не могу показаться, чтобы быть в состоянии найти причину это.
Неужели кто-нибудь еще столкнулся с этой проблемой?