Nunca he entendido completamente this property of the IHttpHandler. Es una propiedad que debe establecer cuando implementa la interfaz. Asumí que establecerlo en verdadero sería mejor para el rendimiento, pero no estoy seguro de cuáles podrían ser los efectos secundarios negativos. ¿Debo devolver verdadero o falso?¿Debo configurar IsReusable en True en mis HttpHandlers?
Respuesta
Se utiliza para indicar si se utilizará una sola instancia de IHttpHandler para procesar varias solicitudes simultáneas. Por lo tanto, si lo configura en true
, mejorará el rendimiento, pero debe asegurarse de que su código sea seguro para subprocesos, ya que el método ProcessRequest
se puede invocar desde varios subprocesos al mismo tiempo.
El controlador es bastante simple y no necesita mantener el estado. Debería ser seguro para subprocesos. ¡Así que creo que puedo establecerlo en verdad! Gracias. –
Cuando tiene variables miembro privadas en el controlador y hace uso del contexto, ¿esto es seguro para los hilos? –
¿Puede explicar ** porque el método ProcessRequest se puede invocar desde varios subprocesos al mismo tiempo. **? –
Si su aplicación contiene IHttpHandler
estado (tal vez la configuración en el constructor y posteriormente utilizado en ProcessRequest
), entonces a veces puede ser útil para establecer IsReusable
a falso.
IsReusable mantiene el controlador en la memoria y es capaz de manejar múltiples solicitudes. Cuando se establece en falso, tiene que crear una nueva instancia del controlador para cada solicitud entrante.
tuve algunos problemas con esta propiedad a mí mismo:
- 1. HTTPHandler e IsReusable con WebHandler
- 2. ¿Por qué configurar Autocommit en true?
- 3. ¿Debo usar AutoMapper en mis pruebas unitarias?
- 4. ¿Debo capitalizar mis constantes?
- 5. ¿Cómo debo configurar mis proyectos/soluciones de Visual Studio en un repositorio de Mercurial?
- 6. ¿Qué debo configurar para que SVN ignore en mis proyectos Delphi?
- 7. Evaluación de páginas ASPX de httpHandlers personalizados
- 8. ¿Debo configurar explícitamente RESULT_CANCELED?
- 9. ¿Cómo debo configurar CLASSPATH?
- 10. ¿Debo configurar errno?
- 11. ¿Debo usar 'Integrated Security = True' en un entorno de producción?
- 12. ¿Cómo debo usar maxlength en CFQUERYPARAM list = "true"?
- 13. cómo configurar generate_statistics = true con fluidez nhibernate
- 14. java c3p0: ¿cómo puedo configurar autoreconnect = true?
- 15. ¿Debo probar mis controladores (MVC)?
- 16. ¿Debo firmar mis archivos DLL?
- 17. Algo más rápido que HttpHandlers?
- 18. ¿Debo definir un método principal en mis scripts de ruby?
- 19. ¿Cuándo debo implementar mis ensamblajes en el GAC?
- 20. ¿Debo exponer IObservable <T> en mis interfaces?
- 21. ¿A qué URL JSTL debo hacer referencia en mis JSP?
- 22. ¿Debo usar DTO como mis modelos de datos en MVVM?
- 23. ¿Cuánto tiempo debo mantener mis proyectos de tenedor en github?
- 24. ¿Debo usar Url.Content() o ResolveUrl() en mis vistas de MVC?
- 25. ¿Debo eliminar u ocultar mis anotaciones en MKMapView?
- 26. ¿Debo configurar Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture de forma predeterminada en mi aplicación?
- 27. Importancia de bool IsReusable en la interfaz del controlador http
- 28. ¿Cómo debo almacenar mis clases personalizadas?
- 29. ¿Cómo debo nombrar mis clases de CSS?
- 30. ¿Debo mezclar mis UnitTests y mis pruebas de integración en el mismo proyecto?
posible duplicado de [Importancia de IsReusable bool en la interfaz de controlador HTTP] (http://stackoverflow.com/questions/539302/significance-of -bool-isreusable-in-http-handler-interface) – svick