Встраивание всей структуры каталогов - PullRequest
0 голосов
/ 14 декабря 2010

У меня большая структура каталогов с JavaScript, изображениями и т. Д., Которые зависят друг от друга. Я хотел бы инкапсулировать все это в DLL, поэтому мне нужно ссылаться только на одну вещь, а не иметь несколько копий всех этих файлов в разных проектах.

Поскольку файлы зависят друг от друга, я думаю, что могу создать IHttpModule, который регистрирует маршрут для приема URL-адресов, например /MyEmbeddedDir/subdir/file.js. Все, что находится в MyEmbeddedDir, будет затем обрабатываться пользовательским IHttpHandler, который выполняет правильное сопоставление. Каждое веб-приложение должно будет ссылаться на DLL и добавлять модуль и обработчик в web.config. Это кажется разумным?

Кроме того, существует ли более простой способ встраивания / ссылки на файлы, чем задание действия по сборке для встроенного ресурса и добавление [assembly: WebResource(...)] к каждому файлу (есть десятки!)? Спасибо!

Редактировать: Если я не использую WebResource.axd, мне не нужно добавлять [assembly: WebResource(...)]

Ответы [ 2 ]

1 голос
/ 14 декабря 2010

Да, наличие одного контейнера - отличный способ управлять большим количеством файлов (и нет, SQLite здесь не поможет!;).

У нас есть продукт с именем SolFS , представляющий собой виртуальную файловую систему, который позволяет хранить ваши данные в настраиваемом хранилище (одна из опций - DLL-библиотека ресурсов) и предоставляет файловый APIдоступ к файлам.Мы даже реализовали асинхронный подключаемый протокол для IE (на стороне клиента, но задача очень похожа на вашу).SolFS включает приложение-менеджер, которое позволяет легко создавать файлы контейнеров и импортировать файлы в контейнер.

0 голосов
/ 16 декабря 2010

Я закончил с IHTTPModule (регистрация маршрута) и IHTTPHandler (получение встроенного ресурса).Маршрут настраивается в web.config на случай, если он конфликтует с существующим контентом.

...