Ambos tienen propiedades de Solicitud y Respuesta, pero no puedo escribir un método que tome HttpContext o HttpContextBase. En algunos lugares, ya sea uno u otro está disponible, así que necesito manejar ambos. Sé que HttpContextWrapper puede convertir en una dirección, pero aún así ... ¿por qué es así?¿Por qué HttpContext no se deriva de HttpContextBase?
Respuesta
HttpContext
ha estado presente desde .NET 1.0. Debido a razones de compatibilidad con versiones anteriores, no pueden cambiar esa clase. HttpContextBase
se introdujo en ASP.NET MVC para permitir una mejor comprobabilidad, ya que hace que sea más fácil simularlo.
Esta es una vieja pregunta, pero acabo de tener el mismo problema y la respuesta está en el comentario de Gunder.
crearle métodos a utilizar HttpContectBase y luego envolver su contexto en un HttpContextWrapper cuando se desea llamar desde el código
public class SomeClass{
... other stuff in your class
public void MyMethod(HttpContextBase contextbase){
...all your other code
}
}
Uso
var objSomeClass = new SomeClass();
objSomeClass.MyMethod(new HttpContextWrapper(HttpContext.Current));
Creo que habrá HttpContext.Current null si realiza esta llamada a través de ajax, Investigaré cómo obtener el contexto y actualizar esta publicación.
Creo que todavía debe tener un HttpContext incluso con llamadas Ajax – JoelFan
- 1. Burlarse de HttpContextBase con Moq
- 2. ¿Por qué simular HttpContext si se puede construir?
- 3. Plantilla C++: 'no se deriva del tipo'
- 4. ¿Por qué HttpContext no contendría un encabezado "Host"?
- 5. C++: Error "... no se deriva del tipo ..."
- 6. ¿Por qué la clase ObjectContext no se deriva de alguna interfaz?
- 7. Burlarse de HttpContext no funciona
- 8. ¿Por qué un tipo arrojado o atrapado se deriva de System.Exception
- 9. ¿Por qué no puedo llamar a un método con plantilla de una clase de plantilla que se deriva de
- 10. como registrar HttpContextBase con Autofac en Asp.Net (no MVC)
- 11. ¿Por qué no puedo acceder al HttpContext desde el inicializador del Controlador?
- 12. ¿Llamo al constructor base cuando se deriva de ServiceBase?
- 13. ¿Por qué no se cuelga?
- 14. Mocking a HttpContext Response.Output con Moq
- 15. ¿Cómo implementar esta dependencia (HttpContext) en Unity?
- 16. Argh! ¿Por qué System.Web.Mvc.HandleErrorInfo se pasa a mis vistas?
- 17. Obtener System.Web.UI.Página actual de HttpContext?
- 18. HttpContext en WCF
- 19. SignalR y HttpContext/Session
- 20. ¿De dónde se deriva el navegador predeterminado en Android 4?
- 21. elmah: excepciones sin HttpContext?
- 22. calificador en línea se deriva de prototipo o definición?
- 23. ¿Cómo puedo saber si un TClass se deriva de otro?
- 24. ¿Por qué cada clase en .Net deriva de System.Object? ¿Cuales son los beneficios?
- 25. Snowball Stemmer solo se deriva de la última palabra
- 26. C# Entity Framework utilizando sólo un ObjectContext por HttpContext
- 27. ¡MySQL cree que la subconsulta se deriva cuando no lo es!
- 28. caché asp.net dentro de httpcontext
- 29. ¿Por qué no se estandariza el nombre
- 30. ¿Por qué no se puede publicar?
Vine aquí para descubrir cómo convertir un 'HttpContextBase' a' HttpContext'. Tu pregunta contenía la respuesta. La respuesta es 'HttpContextWrapper' que se deriva de' HttpContextBase' y toma 'HttpContext' como parámetro para el constructor. Como su nombre lo indica, envuelve un 'HttpContext' y lo hace disponible como un objeto compatible con 'HttpContextBase'. ¡Gracias! –
http://stackoverflow.com/a/4567707/955831 –