Pregunta

Me estoy empezando a ver Contextos dondequiera que miro. En ASP.NET MVC, hay ControllerContexts, RequestContexts, HttpContexts, FormContexts. En marco de la entidad, que tiene ObjectContexts y DbContexts. Ninject tiene Ninject.Activation.IContext.

¿Qué diablos es un contexto?

¿Fue útil?

Solución

Bueno, es una especie de cosa dependencia de la inyección, que permite a la gente diga 'He aquí el entorno en el que va a operar en'. Por lo general, proporcionan, como era de esperar, el "contexto" para lo que sea. Es decir, un cierto estado. Tal vez la URL, tal vez algunas cabeceras HTTP, lo que sea.

Usted está viendo mucho de ellos porque ASP.NET se centra en la prueba y por lo tanto permite que estos artículos sean "intercambiadas en", de manera que puede proporcionar a sus propios implementaciones de contexto (es decir, definir sus propio estado), de modo que usted puede realizar pruebas de manera adecuada y con éxito.

Si se pregunta qué Estado es, así que es sólo varios bits de datos que son "dados", por el medio ambiente. Es decir. hoy en día es frío en la oficina . Esto es parte del estado . Pero quizás Quiero correr mi prueba cuando es caliente en la oficina , por lo que sería capaz de OfficeContext subclase y devolver el estado apropiado para el método apropiado / etc.

Otros consejos

OMI, Contexto denota un cierto estado (posiblemente mutable) sobre algo . Típicamente contexto sería capas transversales y, a menudo lleva datos neutros de dominio a través de capas.

Contexto es información fuera del ámbito de lo que está haciendo actualmente, pero que tiene implicaciones que puede ser esencial.

Imagínese si alguien le pregunta el significado de la palabra Inglés "volar". Existen múltiples definiciones: los pequeños inspecciona el zumbido o el acto sostenido de deslizarse a través del aire. Con el fin de dar la respuesta correcta se necesita el Contexto que le indica los definición que están buscando - están leyendo un libro sobre dípteros o los hermanos Wright

En cuanto a la computación, dicen que está implementando un controlador HTTP. Puede ser que sea capaz de generar una respuesta sin conocer otra cosa, pero es más probable que necesita el Contexto de la información de la solicitud HTTP (¡Hola, mundo!) - ¿cuáles fueron los parámetros de la petición, los tipos de codificación aceptable, etc. por lo que puede producir una respuesta significativa al agente de usuario.

Pienso en ellos como siendo como las variables de entorno y configuración del perfil en una sesión Telnet / SSH. Se cubren a diferentes configuraciones para permitir que las herramientas para llevar a cabo de forma diferente en función del contexto (es decir, medio ambiente) que están en ejecución.

OMI, es sólo otro argumento. En mi experiencia (limitada), he visto que sea la clase llamando. Hay que saber lo que está haciendo para hacer lo que está haciendo y . El contexto es lo que está haciendo, lo que está sucediendo / marcha.

Las respuestas anteriores son por lo general bastante buena. Lo único que quiero añadir es que su uso más común es como un "pegamento" para las capas inferiores de un sistema. En general, el sistema en cuestión es una especie de sistema de "contenedor", en donde el código se ejecuta dentro de una base de código más grande que esconde una gran cantidad de detalles de la ejecución de usted. El contexto es el interfaz abstracto a ese sistema más grande.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top