В моем приложении asp.net mvc 2 я задаюсь вопросом о том, как лучше всего это реализовать:
- Для каждого входящего запроса мне нужно выполнить пользовательскую авторизацию, прежде чем разрешить обслуживание файла. (Это основано на заголовках и содержимом строки запроса. Если вы знакомы с тем, как Amazon S3 выполняет аутентификацию покоя - именно это).
Я бы хотел сделать это максимально возможным способом, что, вероятно, означает максимально легкое касание, когда IIS выполняет как можно большую часть реальной работы.
Служба должна будет обрабатывать запросы GET, а также записывать новые файлы, поступающие через запросы POST / PUT.
Запросы относятся к произвольному файлу, поэтому это может быть:
GET http://storage.foo.com/bla/egg/foo18/something.bin
POST http://storage.foo.com/else.txt
Прямо сейчас я наполовину реализовал это, используя IHttpHandler, который обрабатывает все маршруты (с rout.RouteExistingFiles = true), но не уверен, что это лучше, или я должен подключиться к жизненному циклу где-то еще?
Меня также интересует поддержка частичной загрузки с помощью заголовка Range. Использование
* * 1 022 response.TransmitFile (finalPath); * +1023 *
как я сейчас имею в виду, мне придется делать это вручную, что немного низкоуровнево?
Большое спасибо за любые указатели.
(IIS7)