Я думаю, тебе, вероятно, повезло ...
Мы сделали похожую вещь. Наше веб-приложение электронной коммерции принимает в качестве изображений продуктов только файлы JPG, PNG и GIF, но мы хотели, чтобы каждое изображение создавалось динамически для каждого продукта.
Итак, мы переназначили файлы JPG, PNG и GIF, чтобы они стали обработчиками.
Однако мы не хотели, чтобы ALL JPG, PNG и GIF-файлы отображались, поскольку это было бы чрезвычайно неэффективно для статических файлов, поэтому мы сделали только определенные.
Вот как это сделать.
Если все ваши ASPX-файлы соответствуют схожим спецификациям файлов, которые НЕТ других файлов, добавьте их в web.config
в <httpHandlers>
.
<add path="filespec*.aspx" verb="*" type="MyAssembly.MyHandlerName, MyAssembly"/>
Если они не все совместно используют спецификацию файла, вам придется добавить их один за другим в web.config:
<add path="oldaspx1.aspx" verb="*" type="MyAssembly.MyHandlerName, MyAssembly"/>
<add path="oldaspx2*.aspx" verb="*" type="MyAssembly.MyHandlerName, MyAssembly"/>
<add path="oldaspx3*.aspx" verb="*" type="MyAssembly.MyHandlerName, MyAssembly"/>
Чтобы сделать это полезным, независимо от того, работаете вы в интегрированном конвейере IIS7 или нет, вы также можете добавить аналогичные строки к элементу <handlers>
Затем, когда приходит запрос на 'oldaspx1.aspx', он будет обработан (очень эффективно, без запуска жизненного цикла страницы) вашим пользовательским обработчиком.
Если это решит вашу проблему, отметьте его как принятый ответ с галочкой слева.