pages for asp asp.net iis iis-7 httphandler

asp.net - for - razor pages select



¿Cómo registro múltiples rutas para HttpHandler en IIS7? (2)

La respuesta de Daniel T:

Resulta que el mapeo de controlador de IIS 7 es diferente al mapeo de controlador de IIS 6. En IIS 6, puede asignar sus controladores de esta manera en web.config :

<configuration> <system.web> <httpHandlers> <add verb="GET" path="*.jpg,*.gif,*.bmp,*.png" type="YourProject.ImageHandler" /> </httpHandlers> </system.web> </configuration>

Le permite usar múltiples rutas, delimitadas por comas. En IIS 7, está en una sección diferente:

<configuration> <system.webServer> <handlers> <add name="ImageHandler for JPG" path="*.jpg" verb="GET" type="YourProject.ImageHandler" resourceType="File" /> <add name="ImageHandler for GIF" path="*.gif" verb="GET" type="YourProject.ImageHandler" resourceType="File" /> <add name="ImageHandler for BMP" path="*.bmp" verb="GET" type="YourProject.ImageHandler" resourceType="File" /> <add name="ImageHandler for PNG" path="*.png" verb="GET" type="YourProject.ImageHandler" resourceType="File" /> </handlers> </system.webServer> </configuration>

No es compatible con varias rutas, por lo que debe asignar su controlador para cada ruta.

Probablemente tendrá que terminar mapeándolo en ambos lugares porque el servidor de desarrollo interno de Visual Studio usa IIS 6 (o IIS 7 ejecutándose en modo compatibilidad), mientras que el servidor de producción probablemente esté usando IIS 7.

Tengo un HttpHandler que cambia el tamaño de las imágenes en función de la cadena de consulta, por lo que solicita algo como:

http://server/image.jpg?width=320&height=240

le dará una imagen de tamaño 320x240.

En el IIS Manager , en Handler Mappings controlador, asigné la ruta de mi controlador como *.jpg,*.gif,*.bmp,*.png . Sin embargo, esto no activa el controlador. Si lo cambio a solo *.jpg , entonces funciona.

Mi pregunta es, ¿tengo que crear 4 entradas de mapeo separadas, una para cada tipo de imagen, o hay alguna forma de combinar múltiples extensiones en una ruta?


Puede agregar múltiplos del mismo controlador siempre que cambie el atributo de nombre.