Menú
Está libre
registrarse
el principal  /  Educación / Conceptos básicos de plataforma.net. Información general sobre los conceptos básicos de la plataforma .NET Framework Los componentes principales del marco neto

Los conceptos básicos de la plataforma.net. Información general sobre los conceptos básicos de la plataforma .NET Framework Los componentes principales del marco neto

Es uno de los idiomas de programación más buscados, multifuncionales y de desarrollo activamente en este momento. Con él, puede desarrollar casi cualquier software, que van desde formularios simples. aplicaciones, aplicaciones web de Client-Server de primer plano o incluso aplicaciones móviles y juegos de computadora. Y funciona sobre la base de una plataforma .NET Framework. Vamos a descubrir qué es.

Vea mi video en el tema .NET Framework Platform y el entorno de ejecución de CLR para C #

C # programando lenguaje Es relativamente fresco, pero ya ha logrado ganar confianza. El lanzamiento de la primera versión tuvo lugar en febrero de 2002. La versión extrema del idioma en el momento de escribir el artículo es C # 7.2, que salió 08/16/2017.

La sintaxis C # de la siguiente manera del nombre entra en la familia Idlius Idlius y es similar a otros idiomas populares de este grupo (C ++, Java). Por lo tanto, si ya está familiarizado con uno de estos idiomas, será mucho más fácil para usted dominar el lenguaje de programación C #.

Dado que C # es un lenguaje orientado a objetos, apoya la herencia, el polimorfismo, la encapsulación, la escritura estricta de las variables, los operadores de sobrecarga y más. Todos estos conceptos se considerarán en detalle en artículos subsiguientes. Gracias al uso del paradigma de diseño orientado a objetos utilizando un lenguaje de programación, es posible desarrollar fácilmente proyectos a gran escala y flexible. Con todas las nuevas versiones regularmente publicadas de C #, agregando una nueva funcionalidad para simplificar la vida del desarrollador, lo que aumenta la velocidad de desarrollo, aumenta la productividad y la confiabilidad.

Platform.net.

.NET Framework. - Esta es una plataforma de software de la empresa.Microsoft. permitiendo realizar el desarrollo en varios idiomas de programación, ya que el entorno de ejecución de idioma general unificado se utiliza para todos los idiomas.Tiempo de ejecución del lenguaje común (CLR). Por lo tanto, las posibilidades principales de la plataforma.net son:

  • Placa de crospers - .NET Framework. mantenido por la mayoría de los sistemas operativos modernos.Windows, y también tiene la capacidad de crear aplicaciones admitidas Sistemas de linuxe incluso aplicaciones móviles.
  • Plurilingüe - Dado que el código fuente escrito en el lenguaje de programación utilizado se transmite en el código de idioma intermedio común (CIL), es posible desarrollar en cualquier idioma de programación compatible, e incluso utilizar diferentes lenguajes de programación en una sola solución. Los idiomas compatibles más populares son C #, VB.NET, C ++, F #.
  • Amplia biblioteca de clases y tecnología. - existe gran cantidad Listo para usar las bibliotecas para resolver las tareas necesarias. A menudo, no es necesario implementar la lógica de bajo nivel de la aplicación, basta con usar la solución terminada que se suministra convenientemente a través del administrador de paquetes de NUGET. Además, Platform.NET proporciona fácil desarrollo para casi cualquier tipo de necesidad. software.

Código gestionado y no administrado. Compilación jit

Código gestionado (código administrado) - Este es el código controlado por el entorno CLR comunitario. Esto significa que el entorno de control tiene la capacidad de suspender la ejecución de la solicitud y obtener información específica sobre el estado de la solicitud en cualquier momento de su ejecución. El código fuente del lenguaje de programación utilizado se transmite al código gestionado CIL (también se llama ensamblador de alto nivel).

Después de crear una biblioteca o aplicación de clases, el código fuente continúa almacenándose en CIL. Y cuando inicie una aplicación o acceso a la biblioteca, se está ejecutando justo a tiempo. JIT.) Recopilación de la aplicación en un código de máquina específico para el entorno en el que se ejecuta la solicitud. En este caso, una característica importante es que compilando solo la parte de la aplicación o la biblioteca, a la que se realiza la apelación (bueno, naturalmente). Esto le permite aumentar el rendimiento del sistema y ahorrar recursos.

Código no administrado (código no administrado) - Este código se transmite inmediatamente en el código ejecutable de la máquina y se ejecuta directamente por el sistema operativo.

Además, recomiendo leer un artículo. Y también se suscribe al grupo Vkontakte, Telegram and YouTube Channel. Hay aún más útil e interesante para los programadores.

Concepto de entorno. Factores de medio ambiente y su clasificación.

El término "ambiente" en la ecología se aplica en un sentido amplio y estrecho de la palabra. En el sentido amplio de la palabra medio es el medio ambiente. El entorno es una combinación de todas las condiciones de vida que existen en el planeta Tierra. Biólogo estadounidense P. Earlich en su libro "Explosión demográfica", que se publicó a fines de los años 60, por lo que se describió figurativamente el medio ambiente: "Nuestro entorno es la única" piel "del suelo, el agua y la atmósfera gaseosa, los nutrientes minerales y los organismos vivos que cubren Cualquier otra cosa en particular, en particular, no es un planeta notable ". El medio en el sentido estrecho de la palabra es el hábitat. El hábitat es la parte de la naturaleza que rodea el cuerpo y con lo que interactúa directamente. El hábitat de cada cuerpo es diverso y cambiable. Está compuesto por muchos elementos de naturaleza viva e inanimada y elementos introducidos por el hombre como resultado de su actividad económica.
Todos los elementos del medio en relación con el cuerpo son inequívocos: algunos de ellos afectan su actividad vital, y otros son indiferentes para ello. En este sentido, todos los elementos del medio se agrupan de la siguiente manera.
1. Los factores neutros son aquellos elementos del medio que no afectan al cuerpo y no causan ninguna reacción.
2. Los factores ambientales son aquellos elementos del medio que pueden influir directa o indirectamente en el cuerpo al menos a lo largo de una de las fases de su desarrollo individual y causar una respuesta adaptativa específica.
Los factores ambientales ambientales son diversos, tienen una naturaleza diferente y la especificidad de la acción. Para el significado de ellos para el cuerpo, se dividen en dos grupos:
1. Las condiciones de existencia o condiciones de vida son aquellos factores ambientales, sin los cuales el cuerpo no puede existir y con lo que está en una unidad inseparable. La ausencia de al menos uno de estos factores conduce a la muerte del cuerpo.
2. Los factores secundarios son aquellos factores ambientales que no son vitales, pero pueden modificar la existencia del cuerpo, mejorar o empeorarlo.
Un análisis de la gran variedad de factores ambientales por naturaleza de su origen les permite dividirlos en tres grupos grandes, en cada uno de los cuales, a su vez, los subgrupos se pueden distinguir:
I. Los factores abióticos son factores de naturaleza inanimada, que afectan directa o indirectamente al cuerpo. Se dividen en cuatro subgrupos:
a) Factores climáticos: estos son factores que forman el clima y pueden influir en la vida de los organismos (luz, temperatura, humedad, presión atmosférica, velocidad del viento, etc.);
b) Effigio, o suelo, los factores son las propiedades del suelo, que afectan la vida de los organismos. Ellos, a su vez, se dividen en físicos (composición mecánica, comercialidad, permeabilidad capilar, bienestar, aire y humedad, intensidad de aire y humedad, densidad, color, etc.) y productos químicos (acidez, composición mineral, contenido de humus) propiedades del suelo;
c) Factores orográficos, o factores de socorro: esta es la influencia de la naturaleza y la especificidad del alivio de la vida de los organismos (la altura del terreno sobre el nivel del mar, la latitud del área en relación con el ecuador, la inclinación del área es el ángulo de inclinación al horizonte, la exposición del área es la localidad de la relación del área con las partes de la luz);
d) Factores hidrofísicos: este es el efecto del agua en todos los estados (líquido, sólido, gaseoso) y factores ambientales físicos (ruido, vibración, gravedad, radiación magnética, electromagnética y ionizante) a la vida de los organismos.
II. Los factores bióticos son los factores de la vida silvestre, la influencia de los organismos vivos entre sí. Son más diversos y actúan no solo directamente, sino también indirectamente a través de la naturaleza inorgánica sobreviviente. Dependiendo del tipo de organismo de actuación, se dividen en dos grupos:
a) Factores intravidores: este es el efecto de los individuos de la misma forma en el cuerpo (liebre por liebre, pino en pino, etc.);
b) Los factores específicos específicos son la influencia de los individuos de otros tipos de organismo (lobo por liebre, pino en abedul, etc.).
Dependiendo de la pertenencia a un cierto reino, los factores bióticos se dividen en cuatro grupos principales:
a) Factores fitogénicos: esta es la influencia de las plantas en el cuerpo;
b) Los factores zogénes son el efecto de los animales en el cuerpo;
c) Los factores microbogénicos son el efecto de los microorganismos (virus, bacterias, más simples, rickettsia) en el cuerpo;
d) Factores micógenos: este es el efecto de los hongos en el cuerpo.
III. Los factores antropogénicos son una combinación de impactos humanos en la vida de los organismos. Dependiendo de la naturaleza del impacto, se dividen en dos grupos:
a) Los factores de influencia directa son el impacto directo de una persona en el cuerpo (siega la hierba, reduciendo el bosque, disparando animales, captura de pescado, etc.);
b) los factores de la influencia indirecta son la influencia de una persona con el hecho de su existencia (anualmente en el proceso de respiración de las personas en la atmósfera, 1.1x1012 kg de dióxido de carbono y del medio ambiente en forma de alimentos son 2, 7x1015 Kcal Energy) y a través de actividades económicas (agricultura, industria, transporte, actividades domésticas, etc.).
Dependiendo de los efectos del impacto, ambos grupos de factores antropogénicos, a su vez, todavía se dividen en factores positivos (plantas de aterrizaje y alimentación, crianza y cutondar animales, protección ambiental, etc.), que mejoran la vida de los organismos o aumentan su número. y factores negativos (reducción de árboles, contaminación ambiental, destrucción de hábitats, juntas de carreteras y otras comunicaciones), que empeoran la vida de los organismos o reducen su número.
Clasificación original de los factores ambientales de acuerdo con el grado de consistencia, es decir,. Según su periodicidad, a.s.S.Monchadsky propuesto. Según esta clasificación, los siguientes tres grupos de factores distinguen.
1. Factores periódicos primarios: estos son factores cuya acción comenzó antes de que la aparición de la vida en la tierra y los organismos vivos debería haberse adaptado directamente (periodicidad diaria de la iluminación, periodicidad estacional de las estaciones, ritmos lunares, etc.).
2. Los factores periódicos secundarios son factores que son consecuencia de los factores periódicos primarios (humedad, temperatura, dinámica de alimentos, gases en agua, etc.).
3. Los factores de eliminación son factores que no tienen la periodicidad o la ciclicidad correctas (factores de subasta, factores antropogénicos, el contenido de contaminantes en agua, atmósfera o suelo, etc.).
Dependiendo de la naturaleza del cambio en el tiempo, los factores ambientales se dividen en tres grupos:
1. Los factores periódicos regularmente son factores que cambian su fuerza dependiendo de la época del día, la temporada del año o el ritmo de las mareas y los cantos (iluminación, la temperatura, la longitud del día de luz, etc.).
2. Los factores irregulares son factores que no tienen periodicidad claramente pronunciada (factores climáticos en diferentes años, factores de origen catastrófico como resultado de inundaciones, huracán, terremoto, etc.).
3. Los factores direccionales son factores que actúan durante un largo período de tiempo en una dirección (enfriamiento o calentamiento climático, crecimiento excesivo del depósito, pastando en un lugar, etc.).
De acuerdo con la naturaleza de la respuesta del cuerpo, los siguientes grupos de factores ambientales difieren sobre el impacto de un factor ambiental:
1. Los irritadores son factores que causan cambios adaptativos a funciones fisiológicas y reacciones bioquímicas.
2. Los modificadores son factores que causan cambios anatómicos y morfológicos adaptativos en el cuerpo.
3. Los limitadores son factores que resultan en la imposibilidad de la existencia en estas condiciones y limitar el entorno de distribución ambiental.
4. Las alarmas son factores que indican el cambio en otros factores y actúan como una señal preventiva.
Dependiendo de la posibilidad de consumo al interactuar con el cuerpo, los factores ambientales se dividen en dos categorías:
1. Las condiciones son los factores ambientales del hábitat en el tiempo y el espacio, al que el cuerpo responde de diferentes maneras, dependiendo de la fuerza del factor (temperatura, humedad, presión atmosférica, propiedades físicas del suelo, etc.). Las condiciones del cuerpo no se consumen y no están agotadas.
2. Los recursos son todos los factores de hábitat ambiental que el cuerpo consume, consume en el sentido de que la cantidad de ellos (efectivo) como resultado de la interacción con el cuerpo puede disminuir. Los recursos son la ventaja de la sustancia que consiste en el cuerpo del cuerpo, la energía involucrada en los procesos de su actividad vital, así como los lugares donde esos u otras fases de su flujo de ciclo de vida.
Además de las clasificaciones anteriores de los factores ambientales, también se aplican otras clasificaciones en la ecología, que se basan en diversos criterios, dependiendo de los intereses del investigador.

Introducción

La plataforma es al menos el entorno de ejecución del programa y ... cualquier otra cosa que define las características del desarrollo y ejecución del código de programa: programación de paradigmas, lenguajes de programación, muchas clases básicas.

Microsoft.NET (.NET Framework) es una plataforma de software. Contiene los siguientes componentes principales: el tiempo de ejecución del lenguaje común (CLR) y la biblioteca de clases .NET Framework (.NET FCL).

CLS (especificación de lenguaje común): la especificación general de las lenguas de programación. Este es un conjunto de diseños y restricciones que son manuales para los creadores y compiladores de la biblioteca en el Framework .NET. Las bibliotecas construidas de acuerdo con CLS se pueden usar desde cualquier lenguaje de programación que admite CLS. Los idiomas correspondientes a CLS (a su número incluyen Visual C #, Visual Basic, Visual Basic Languages), pueden integrarse entre sí. CLS es la base de la interacción de emergencia dentro de la plataforma Microsoft.net.

CLR (tiempo de ejecución de lenguaje común) - tiempo de ejecución o máquina virtual. Proporciona montaje. El componente principal .NET Framework. Bajo la máquina virtual, una abstracción de un sistema operativo de alto nivel controlado (separado) encapsulado (separado), que garantiza la ejecución del código del programa e implica la solución de las siguientes tareas:

§ Administración de códigos (descarga y ejecución),

§ Gestión de la memoria al colocar objetos,

§ Aislamiento memoria de solicitud,

§ Comprobación de seguridad de código,

§ Transformación de lenguaje intermedio en código de máquina,

§ Acceso a Metadatos (Información de tipo extendido),

§ Procesamiento de excepciones, incluidas las excepciones intersectivas,

§ Interacción entre código administrado e incontrolable (incluidos los objetos COM),

§ Soporte de servicio para el desarrollo (perfiles, depuración, etc.).

En resumen, el CLR es un conjunto de servicios requeridos para el montaje. Donde código de programa El ensamblaje puede ser tanto manejable (código, al ejecutar el CLR, en particular, activa el sistema de administración de memoria) y no administrado (código de programa "antiguo").

El CLR mismo consta de dos componentes principales: kernels (mscoree.dll) y bibliotecas de clase básica (mscorlib.dll). La presencia de estos archivos en el disco es la señal correcta de que se realiza un intento de instalar la plataforma en la computadora al menos.

El núcleo de ejercicio se implementa como una biblioteca mscoree.dll. Al construir un ensamblaje, la información especial está incrustada, que, cuando se ejecuta una aplicación (EXE) o al cargar la biblioteca (acceder a la DLL desde un módulo no administrado, llame a la función de licorización para descargar el conjunto controlado) conduce a la carga CLR e inicialización. Después de cargar el CLR en el espacio de direcciones del proceso, el núcleo del tiempo de ejecución realiza las siguientes acciones:

§ encuentra la ubicación de la asamblea,

§ Carga el ensamblaje en la memoria,

§ Análisis del contenido de la Asamblea (identifica clases, estructuras, interfaces),

§ Realiza el análisis de metadatos,

§ Proporciona una compilación de código en un lenguaje intermedio (IL) a las instrucciones dependientes de la plataforma (código del ensamblador),

§ realiza cheques asociados con seguridad,

§ Usar el flujo principal de la aplicación, transmite el control del código de ensamblaje en el comando del procesador.

FCL (.NET Framework Class Library) es una biblioteca de clases, interfaces y tipo de clases correspondiente de CLS Especificaciones de CLS, que se incluyen en la plataforma Microsoft .NET.

Esta biblioteca proporciona acceso a características funcionales Los sistemas y están diseñados como base para el desarrollo de aplicaciones, componentes, controles.

La biblioteca Net Class es el segundo componente CLR.

NET FCL puede usar todas las aplicaciones .NET, independientemente del destino, la arquitectura utilizada en el desarrollo del lenguaje de programación. En particular, contiene:

§ Tipos incorporados (elementales) presentados en forma de clases (en plataforma.net, todo está construido en estructuras o clases),

§ Clases para desarrollar una interfaz gráfica de usuario (formulario de Windows),

§ Clases para desarrollar aplicaciones web y servicios web basados \u200b\u200ben la tecnología ASP.NET (formularios web),

§ Clases para desarrollar XML y protocolos de Internet (FTP, HTTP, SMTP, SOAP),

§ Clases para desarrollar aplicaciones que se ejecutan con bases de datos (ADO.NET),

§ y mucho más.

La aplicación Net es una aplicación diseñada para ejecutar en la plataforma Microsoft.net. Se implementa en lenguajes de programación correspondientes a CLS.

MSIL (Idioma intermedio de Microsoft, es IL - Idioma Intermedia) - Idioma intermedio de la plataforma Microsoft.Net. El código fuente de programas para aplicaciones .NET se escribe en lenguajes de programación correspondientes a las especificaciones de CLS. Para los lenguajes de programación, la especificación CLS correspondiente se puede crear con el convertidor en MSIL. Por lo tanto, los programas en estos idiomas se pueden transmitir al código intermedio en MSIL. Gracias a CLS Cumplimiento, como resultado de la transmisión del código del programa escrito en diferentes idiomas, se obtiene un código IL compatible.

De hecho, MSIL es un ensamblador de un procesador virtual.

Metadatos: al convertir un código de programa en MSIL, un bloque de metadatos también se forma que contiene información sobre los datos utilizados en el programa. De hecho, estos son conjuntos de tablas que contienen información sobre los tipos de datos definidos en el módulo, los tipos de datos al que hace referencia este módulo. Anteriormente, dicha información se conservó por separado. Por ejemplo, la aplicación podría incluir información de la interfaz que se describió en el idioma de definición de la interfaz (IDL). Ahora los metadatos son parte del módulo administrado.

En particular, los metadatos se utilizan para:

§ Guardar información sobre los tipos. Al compilar, los archivos de encabezado y biblioteca ya no son necesarios. Todo el compilador de información necesaria lee directamente desde los módulos controlados,

§ Verificación del Código en el proceso de ejecución del módulo,

§ Gestión de la memoria dinámica (versión de memoria) en el proceso de ejecución del módulo,

§ Al desarrollar un estándar de programa. herramientas (Microsoft Visual Studio.NET)

§ Basado en metadatos es proporcionado por un indicador dinámico (IntelliSense).

Idiomas para los cuales se transfieren a MSIL:

y muchos otros idiomas.

El módulo ejecutable es independiente del compilador (y idioma de entrada). La señal de la aplicación es el módulo ejecutable controlado (módulo controlado). Este es un archivo de Windows estándar portátil estándar (ejecutable PE-Portable).

Los elementos del módulo administrado se presentan en la tabla.

El módulo administrado contiene un código administrado.

El código administrado es el código que se realiza en el entorno CLR. El código se basa en las estructuras y clases que se anuncian en el módulo original que contiene los anuncios de los métodos. El código administrado debe cumplir con un cierto nivel de información (metadatos) para el entorno de tiempo de ejecución. C #, código de Visual Basic, y JScript es manejable de forma predeterminada. El código visual C ++ no es manejable de forma predeterminada, pero el compilador puede crear un código administrado, para esto, debe especificar el argumento en la línea de comandos (/ CLR). Una de las características del código controlado es la presencia de mecanismos que le permiten trabajar con datos administrados.

Datos gestionados: los objetos que, durante la ejecución del código del módulo, se colocan en la memoria controlada (en el montón controlado) y son destruidos por el recolector de basura CLR. Los datos de C #, Visual Basic y JScript .NET se administran de forma predeterminada. Los datos C # también pueden ser etiquetados como incontrolables.

MONTAJE - Bloque de construcción básica del marco V.NET. Los módulos controlados se combinan en el ensamblaje. El ensamblaje es una agrupación lógica de uno o más módulos administrados o archivos de recursos. Los módulos controlados se ejecutan en el tiempo de ejecución (CLR). El conjunto puede ser una aplicación ejecutable (se coloca en el archivo con extension.exe) o el módulo de la biblioteca (en el archivo con la extensión.dll). Al mismo tiempo, nada en común con la habitual (¡la muestra antigua!) El ensamblaje no tiene aplicaciones ejecutables y módulos de biblioteca.

Declaración de montaje (manifiesto) - componente montaje. Otro conjunto de mesas de metadatos, que:

§ Identifica el conjunto en forma de un nombre de texto, su versión, cultura y firma digital (si el ensamblaje se divide entre aplicaciones),

§ determina los archivos incluidos en la composición (por nombre y hash),

§ Indica los tipos y recursos que existen en el ensamblaje, incluida la descripción de los que se exportan desde el ensamblaje,

§ Enumera las dependencias de otras asambleas,

§ Indica el conjunto de derechos requeridos por el conjunto para la operación correcta.

Esta información se utiliza durante el período de ejecución para respaldar el funcionamiento correcto de la aplicación.

El procesador no puede ejecutar el código IL. Y la traducción del código de IL se lleva a cabo por el compilador JIT (justo a tiempo, en el momento adecuado), que está activado por el CLR según sea necesario y realizado por el procesador. En este caso, los resultados de la actividad del compilador JIT se guardan en RAM. Entre el fragmento del código IL exclusivo y la unidad de memoria correspondiente, se establece una correspondencia, que en el futuro le permite al CLR transmitir comandos de control a los comandos del procesador grabados en este bloque de memoria al pasar nuevamente el compilador JIT.

En el entorno CLR, se permiten la colaboración y la interacción de los componentes de software implementados en varios idiomas de programación.

Basado en el bloque formado previamente de metadatos CLR, proporciona una interacción efectiva realizada por aplicaciones .NET.

Para CLR, todas las compilaciones son las mismas, independientemente de las lenguas de programación que se escribieron. Lo principal es que coinciden con el CLS. De hecho, CLR destruye los límites de los lenguajes de programación (interoperabilidad de lenguaje cruzado). Por lo tanto, gracias a las aplicaciones CLS y CTS .NET están proporcionadas por aplicaciones en MSIL (IL).

CLR asume muchos problemas que tradicionalmente han estado en la atención especial de los desarrolladores de aplicaciones. Las funciones realizadas por el CLR son:

§ Comprobar y dinámica (JIT) que compila el código MSIL en el comando del procesador,

§ Gestión, procesos y flujos de memoria,

§ Organización de la interacción de los procesos,

§ Solución de problemas de seguridad (dentro del sistema de políticas de seguridad en el sistema).

AppDomain (Dominio de la aplicación) es un contenedor de ensamblaje lógico, que se utiliza para aislar la aplicación dentro del espacio de direcciones del proceso. Todos los objetos creados por la solicitud se crean dentro de un dominio de aplicación específico. Se pueden existir varios dominios de aplicaciones en el mismo proceso del sistema operativo. CLR Aisla a aplicaciones ejecutando la memoria dentro del dominio de la aplicación.

El código realizado en el CLR (proceso CLR) está separado de otros procesos realizados en la computadora al mismo tiempo.

El sistema se inicia el proceso habitual en el marco de la asignación específicamente al proceso de espacio objetivo. CLR proporciona la capacidad de realizar una pluralidad de aplicaciones administradas en un proceso. Todos aplicación controlada asociado con su propio dominio de la aplicación (Appominio abreviado). Además del dominio principal, se pueden crear varios dominios adicionales además del dominio principal.

La estructura del tiempo de ejecución CLR se presenta en la imagen.

Propiedades de dominio:

§ Los dominios se aíslan unos de otros. Los objetos creados dentro del mismo dominio no están disponibles en otro dominio,

§ CLR es capaz de cargar dominios con todos los ensamblajes relacionados con estos dominios,

§ Las configuraciones y la protección adicionales de los dominios son posibles,

§ Para intercambiar datos entre dominios, se ha implementado un mecanismo especial. acceso seguro (Mariscalización).

§ V.NET Framework desarrolló su propio modelo de componente, los elementos de los cuales son los ensamblajes de .NET (conjunto de .NET), y para la compatibilidad directa y atrasada con el modelo COM / COM + en CLRS son mecanismos incorporados (COM INTEROP) , proporcionando acceso a los objetos COM de acuerdo con las normas.net y a los asambleos COM de acuerdo con las reglas COM. Al mismo tiempo, las aplicaciones FOR.NET no requieren registro de componentes en registro del sistema Windows.

Para ejecutar aplicaciones .NET, es suficiente para acomodarse relacionado con esta aplicación Montaje en el mismo directorio. Si el conjunto se puede usar en varias aplicaciones, se publica y se registra utilizando una utilidad especial en el GAC (caché de ensamblaje global con caché de la Asamblea General).

CTS - Sistema de tipo común Sistema estándar Tipos. Apoyado por todos los idiomas de la plataforma. Debido al hecho de que el niño.net es un discurso aquí viene en tipos de primaria, clases, estructuras, interfaces, delegados y enumeraciones.

El sistema de tipo común es una parte importante del tiempo de ejecución, determina la estructura de las estructuras sintácticas, los métodos para los anuncios, el uso y la aplicación de tipos comunes de tiempo de ejecución. CTS enfoca la información básica sobre el sistema de tipos predefinidos comunes, sobre su uso y gestión (valores de la transformación de los valores). CTS juega un papel importante en la integración de aplicaciones administradas multilingües.

El espacio de nombres es una forma de organizar un sistema de tipo en un solo grupo. Hay una biblioteca general general de clases básicas. Y el concepto de espacio de nombres proporciona una organización y navegación efectiva en esta biblioteca. Independientemente del lenguaje de programación, se garantiza el acceso a clases específicas mediante la agrupación en el marco de los nombres comunes.

Nombres de espacio Propósito
Sistema.
Datos de sistema. Para apelar a las bases de datos
System.data.common.
System.data.oldb.
System.data.sqlclient.
System.Collections Clases para trabajar con objetos de contenedores.
Diagnostico del sistema. Clases para el código de seguimiento y depuración
System.Drawing. Clases de soporte gráfico
System.drawing.drawing2d.
System.Drawing.Printing.
System.IO. Apoyo de E / S
System.net Transferencia de datos de soporte en redes.
System.Reflection. Trabajar con tipos de usuarios durante la ejecución de la solicitud.
System.Reflection.Emit.
System.Runtime.Enteropservices. Soporte para la interacción con el "Código Normal" - DLL, COM Servidores, acceso remoto
System.Runtime.Remoting
Sistema de seguridad Criptografía, Permisos
Sistema. Trabajando con flujos
Sistema.Web. Trabajar con aplicaciones web
System.Windows.Form. Trabajando con elementos de interfaz de Windows.
System.xml. Soporte de datos XML

Realizando módulos ejecutables no administrados (ordinario Aplicaciones de Windows), Proporcionado directamente por el sistema de Windows. Los módulos no administrados se realizan en entorno de Windows Como procesos "simples". El único requisito a que dichos módulos deben cumplir son operaciones correctas en el entorno de Windows. Deben trabajar "correctamente" (no colgar el sistema, prevenir las fugas de la memoria, no bloquee otros procesos y use correctamente las herramientas para trabajar en nombre de los procesos). Es decir, cumple con las reglas más comunes para Windows.

Al mismo tiempo, la mayoría de los problemas de la ejecución correcta de un módulo no administrado (problemas de interacción, asignación y liberación de memoria) son los problemas de los desarrolladores de aplicaciones. Por ejemplo, la tecnología COM conocida es una forma de organizar la interacción de los componentes heterogéneos dentro de la aplicación.

Objeto: en un sentido amplio, este es un área de memoria (pila o montón), asignada durante el programa de ejecución del programa para registrar cualquier valor. Se caracteriza por un tipo (conjunto fijo de propiedades que determinan el tamaño del área ocupada, el método de interpretación del valor, el rango de valores, una variedad de acciones permitidas al manipular un objeto) Ubicación en la memoria (dirección).

La recolección de basura es un mecanismo que permite a CLR determinar cuándo el objeto no está disponible en la memoria del programa administrado. Al ensamblar la basura, se libera la memoria controlada. Para el desarrollador de aplicaciones, la presencia de un mecanismo de recolección de basura significa que ya no debería cuidar la liberación de la memoria. Sin embargo, esto puede requerir cambios en el estilo de programación, por ejemplo, se debe prestar especial atención al procedimiento para la liberación de los recursos del sistema. Es necesario implementar los métodos lanzados. recursos del sistemaoperando bajo la solicitud.

La pila es un área de memoria especialmente organizada diseñada para almacenar temporalmente objetos (variables y constantes), para transmitir parámetros al llamar a los métodos para guardar la dirección de retorno. La pila de control en comparación con un montón es lo suficientemente simple. Se basa en cambiar el valor del vértice de pila correspondiente. Al cortar el tamaño de la pila, los objetos simplemente se pierden.

Programa C #

El programa está debidamente construido (no causando objeciones del compilador C #) la secuencia de propuestas basadas en la que se forma el ensamblaje.

En el caso general, el programador crea un archivo que contiene declaraciones de clases, que se suministra a la entrada del compilador. Los resultados de la compilación parecen ser un traductor en forma de un conjunto y está determinado por las preferencias del programador. En principio, la asamblea puede ser dos tipos:

§ El archivo ejecutable portátil (archivo PE con extension.exe) es adecuado para la ejecución directa de CLR,

§ El archivo de la biblioteca de enlace dinámico (archivo DLL con extension.dll) está diseñado para reutilizarse como un componente como parte de una aplicación.

En cualquier caso, según el código de entrada, el traductor está construyendo un módulo en IL, manifiesto y forma un ensamblaje. En el futuro, la asamblea se puede realizar después de la compilación de JIT, o se puede utilizar como parte de otros programas.

Tipos de aplicaciones.net

C # El idioma se puede usar para crear aplicaciones de consola: aplicaciones de texto que se ejecutan en la ventana DOS. Lo más probable es que tales aplicaciones se aplicarán a las bibliotecas de la clase de prueba. Sin embargo, mucho más a menudo, el idioma C # deberá usarse para crear aplicaciones que tengan acceso a múltiples tecnologías relacionadas con S.NET. Este artículo presenta una breve descripción de varios tipos de aplicaciones que se pueden escribir en C #.

Creación de aplicaciones ASP.NET

Inicialmente, la aparición de ASP.NET 1.0 cambió fundamentalmente el modelo de programación web. ASP.NET 4 es una versión senior del producto y se basa en la base de los logros anteriores. En ASP.NET 4, se implementan los principales pasos revolucionarios dirigidos a mejorar la productividad del trabajo. El objetivo principal de ASP.NET 4: le permite construir aplicaciones dinámicas potentes, seguras utilizando la cantidad mínima posible de código.

Características de ASP.NET

Primero y quizás lo más importante es que las páginas. estructurado. Es decir, cada página es, en esencia, la clase heredada de class.net System.Web.ui.page.que puede anular un conjunto de métodos causados \u200b\u200bdurante el ciclo de vida de la página. (Puede percibir estos eventos como específicos para los familiares de los eventos Onapplication_start. y Onsession_start.que ingresó a los archivos globales.asax en la plataforma clásica ASP). Dado que la funcionalidad de las páginas se puede resaltar en los manejadores de eventos de un propósito específico, las páginas ASP.NET son mucho más fáciles de entender.

Otra característica agradable de las páginas ASP.NET es que se pueden crear en Visual Sludio 2010, el mismo entorno en el que los componentes de la lógica empresarial y el acceso a datos están programados por las mismas páginas de ASP.NET. Visual Studio 2010, o solución (solución), contiene todos los archivos asociados con la aplicación. Además, las páginas ASP clásicas se pueden depurar directamente en el editor. EN tiempos pasadosRelacionado con Visual Interdev existió una necesidad desagradable de configurar específicamente el Interdev y el servidor web del proyecto para habilitar la depuración.

Para mayor claridad, el dispositivo del código separado (código-detrás) ASP.NET le permite distribuir un enfoque estructurado aún más. ASP.NET le permite aislar la funcionalidad del servidor en el aula, compilar esta clase junto con otras páginas a la biblioteca DLL y coloque esta DLL en el directorio debajo de la parte HTML. Directive @Page, especificado al principio de la página, asocia este archivo con la clase. Cuando el navegador solicita la página, el servidor web genera eventos en la clase ubicada en el archivo de la clase de página.

La última propiedad, pero igualmente importante de ASP.NET, que debe mencionarse es una mayor productividad. Si bien las páginas ASP clásicas se interpretaron cada vez que un mensaje de página, las páginas ASP.NET después de la recopilación se almacenan en caché en un servidor web. Esto significa que todas las solicitudes posteriores de las páginas ASP.NET se realizan más rápido que las primeras.

ASP.NET también facilita las páginas de escritura que muestran formularios en el navegador que se pueden utilizar en la red corporativa. La vista tradicional de las aplicaciones orientadas a la forma es que proporcionan una interfaz de usuario desarrollada, pero son más difíciles de acompañarlos, ya que se lanzan en muchas máquinas cliente. Por esta razón, las personas confían en las aplicaciones orientadas a los formularios, solo cuando se requiere una interfaz desarrollada y es posible garantizar un soporte confiable a los usuarios.

Webms

Para que sea más fácil construir páginas web, Visual Studio 2010 ofrece una biblioteca de formularios web (formularios web). Esta herramienta le permite crear gráficamente las páginas ASP.NET, de la misma manera que las ventanas se crean en Visual Basic 6 y en el constructor de C ++. En otras palabras, deberá arrastrar los controles necesarios desde la barra de herramientas a la superficie del formulario, luego corrija ligeramente el código de forma y escriba los controladores de eventos para los controles. Al usar el idioma C # para crear un formulario web, crea una clase C # heredada de la clase básica Páginay la página ASP.NET, que muestra esta clase como su código separado. Por supuesto, no está obligado a solicitar la creación de un formulario web exactamente C #; Para hacer esto, también puede utilizar Visual Basic 2010 o cualquier otro idioma orientado por ON.

En el pasado, la complejidad del desarrollo web mantuvo a algunos equipos de desarrolladores intentando dominarlo. Para lograr el éxito en el desarrollo de aplicaciones web, tuve que saber muchos diferentes tecnologíascomo vbscript, asp, dhtml, javascript, etc. El uso de conceptos de formularios web a páginas web ha simplificado significativamente la construcción de aplicaciones web.

Elementos de control del servidor web

Los controles utilizados en formularios web no son controles en el mismo sentido, en los que son los elementos de ActiveX. En su lugar, son descriptores XML que pertenecen al espacio de nombres ASP.NET, que el navegador web se transforma dinámicamente en descriptores HTML y escenarios de clientes cuando se solicita la página. Sorprendentemente, el servidor web puede mostrar los mismos controles del lado del servidor. diferentes caminos, generando una transformación que cumpla con el navegador web específico, que envió una solicitud. Esto significa que ahora puede crear fácilmente las interfaces de usuario perfectas de las páginas web sin preocuparse por cómo lograr la página para trabajar en ninguno de los navegadores disponibles: los formularios web se encargarán de esto.

Servicios web XML

Hasta la fecha, las páginas HTML constituyen la mayor parte del tráfico web en todo el mundo. Sin embargo, gracias a XML, las computadoras obtienen un formato independiente que se puede usar para interactuar en Internet. En el futuro, las computadoras podrán usar XML para intercambiar información en lugar de enviarse entre sí por líneas dedicadas del mensaje en un formato especial especial similar al EDI (intercambio electrónico de datos). Los servicios web de XML están diseñados para un entorno web orientado al servicio cuando las computadoras remotas se ofrecen mutuamente la información dinámica que se puede analizar y reformatear antes de obtener su representación final para el usuario. XML Web Services es una forma fácil para que las computadoras proporcionen información en forma de XML a otras computadoras en Internet.

En el marco de la terminología técnica, el sitio web de XML V.NET es una página ASP.NET que devuelve un código XML a solicitudes de clientes en lugar del código HTML. Dichas páginas se basan en la biblioteca DLL del código separado que contienen clases heredadas de WebService. El entorno de desarrollo de Visual Studio 2010 integrado ofrece un mecanismo que facilita la creación de servicios web.

Una empresa u organización puede proporcionar preferencia a los servicios web XML por dos razones principales. La primera razón es que se basan en HTTP; Websons puede usar las redes basadas en HTTP existentes como intermediarios para la transferencia de información. Otra razón está relacionada con el hecho de que, dado que los servicios web XML utilizan XML, el formato de datos transmitido es autocontrol, abierto e independiente de la plataforma.

Creando formularios de Windows

Aunque C # i.net está diseñado, en particular, para el desarrollo web, todavía admiten las llamadas aplicaciones de clientes "gruesas", es decir, Las aplicaciones que deben instalarse en la máquina del usuario final, donde se realiza la mayor parte del procesamiento. Esto proporciona la biblioteca de formularios de Windows (Formulario de Windows).

Sin embargo, si comienzas a aprender la plataforma.net, lo haría no recomendado Está estudiando formularios de Windows e inmediatamente se mueva al estudio de la última tecnología WPF.

Fundación de presentación de Windows (WPF)

Una de las últimas tecnologías revolucionarias es la Fundación de presentación de Windows (WPF). Al construir aplicaciones WPF se basa en el uso de XAML. XAML Abreviatura significa lenguaje de marcado de aplicación extensible: lenguaje de marcado de aplicación expandible. Esta nueva forma de crear aplicaciones dentro del entorno de Microsoft, primero enviado en 2006, es parte de las versiones .NET Framework 3.0, 3.5 y 4. Esto significa que para iniciar cualquier aplicación WPF, debe asegurarse de que la plataforma esté instalada en La máquina cliente .NET Framework 3.0, 3.5 o 4. Aplicaciones WPF están disponibles para Windows 7, Windows Vista, Windows XP, Servidor de windows 2003 y Windows Server 2008 (solo estos sistemas operativos le permiten instalar.net Framework 3.0, 3.5 o 4).

XAML es un anuncio XML que se usa para crear formularios que representan todos los aspectos visuales y el comportamiento de las aplicaciones WPF. Desde la aplicación WPF, puede trabajar programáticamente, esta tecnología es un paso hacia la programación declarativa a la que se está moviendo toda la industria. La programación declarativa significa que, en lugar de crear objetos escribiendo un código en un idioma compilado, como C #, VB o Java, todo se declara utilizando la programación similar a XML.

Servicios de Windows

El servicio de Windows (servicio de Windows se llamado NT Service) es un programa diseñado para comenzar en el fondo en el entorno Windows NT / 2000 / XP / 2003 / VISTA / 7 (pero no Windows 9x). Estos servicios son convenientes cuando necesita organizar la operación continua de programas que están listos para responder a los eventos, sin la necesidad de ejecutarlos explícitamente en la iniciativa del usuario. Un buen ejemplo es el servicio de servicio web de World Wide en servidores web, que escucha las solicitudes web del cliente.

Desarrollar servicios en C # es muy simple. En el espacio de nombres System.Service.Process. Las clases básicas están disponibles .NET, que le permite resolver la mayoría de las tareas de plantilla asociadas con servicios del sistema. Además, el entorno Visual Studio .NET le permite crear un proyecto de servicio C #, que utiliza el código fuente C # para crear un servicio de Windows.

Fundación de comunicación de Windows (WCF)

Estudiando formas de mover datos y servicios de un punto a otro, utilizado en Microsoft Technologies, encontrará que a su disposición es una amplia variedad de soluciones posibles. Por ejemplo, puede usar ASP.NET WEB SERVICIOS, TECHNOLOY.NET REMOTING, ENTERPRISE SERVICES O MSMQ. ¿Qué tecnología elegir? La respuesta a esta pregunta es dictada por lo que está tratando de lograr, porque cada una de estas tecnologías es preferible en una situación específica.

Pedrado, Microsoft realmente ha recopilado todas estas tecnologías juntas, y en la versión de .NET Framework 3.0, así como en su inclusión de V.NET Framework 3.5 y 4, hay un solo método para mover datos - Fundación de comunicación de Windows (WCF). La biblioteca WCF proporciona la posibilidad de la construcción inicial del servicio con la entrega posterior de este servicio de varias maneras (incluso por diferentes protocolos) simplemente cambiando el archivo de configuración. Wcf. - Un nuevo medio poderoso para conectar los sistemas distribuidos.

Fundación de flujo de trabajo de Windows (WF)

El servicio de la Fundación Fundación Windows Workflow (WF) se presentó por primera vez en la versión .NET Framework 3.0, pero ahora se sometió a una reestructuración exhaustiva, como resultado de lo cual muchos ahora encontrarán mucho más útil. Encontrará que Visual Studio 2010 ha mejorado significativamente los medios para trabajar con WF, y crear sus propios flujos de trabajo se ha vuelto mucho más conveniente. También encontrará nuevos controles de flujo, clase de flujo, así como una serie de nuevas acciones, como Dowhile, foreach y Paralelforeach.

En la medida en. Neto. Framework es una plataforma poderosa para desarrollar aplicaciones, hace posible desarrollar aplicaciones de un tipo completamente diferente.

· Aplicaciones de escritorio (aplicaciones que se ejecutan en la computadora local del usuario);

· Aplicaciones web (aplicaciones que funcionan dentro del servidor web y están disponibles para el usuario a través del navegador en el marco del protocolo HTTP / HTTPS);

· Aplicaciones web con una interfaz de usuario rica (aplicaciones que son entregadas por el usuario utilizando el protocolo HTTP / HTTPS dentro del navegador y se ejecutan en el lado del cliente);

· Servicios web (código de programa que se ejecuta en el lado del servidor y se puede llamar desde el cliente para obtener datos o ejecución de la operación);

· Aplicaciones móviles (aplicaciones que se realizan en dispositivos móviles).

Para cada una de las aplicaciones anteriores en la composición. Neto. El marco existe tecnologías relevantes que le permiten crear aplicaciones. Es más, . Neto. El marco contiene bibliotecas comunes que se pueden usar en diferentes tipos de aplicaciones. A tales bibliotecas incluyen bibliotecas:

· Trabajar con filas;

· Trabajar con funciones matemáticas;

· Trabajar con gráficos;

· Acceso a datos;

· Trabajar con archivos y otras operaciones de E / S;

· Realizar operaciones criptográficas;

· Organizar la sincronización de datos entre las fuentes de datos;

· Y una gran cantidad de otras bibliotecas.

Revisemos todo tipo de aplicaciones. Como ya se señaló anteriormente, para cada uno de los tipos de aplicaciones como parte de la plataforma. Neto. El marco existe plantillas especiales de proyectos.

Aplicaciones de escritorio Difieren en que comienzan directamente en la computadora del usuario. Este es el tipo de aplicación más común. Las aplicaciones de escritorio suelen tener acceso a los recursos de la computadora de los usuarios, como hdd, equipo de sonido etc. Las ventajas de este tipo de aplicaciones se pueden atribuir. interactividadinterfaz de usuario y la capacidad de trabajar la aplicación independientemente de la conexión de red La Internet y otros recursos. Sin embargo, para trabajar tales aplicaciones, deben instalarse en el local. un ordenador.

Las aplicaciones de escritorio se pueden dividir en tres tipos: aplicaciones de ventana, aplicaciones y servicios de consola Ventanas. Las aplicaciones de la ventana poseen interfaz gráfica. Las aplicaciones de la consola suelen tener un tipo de línea de comandos, y interfaz Tales aplicaciones son textuales, no gráficas. Finalmente servicio Ventanas No tenga una interfaz de usuario en absoluto, y trabaje en el fondo.

Para crear aplicaciones con la interfaz gráfica de la ventana dentro de la plataforma. Neto. El marco puede usar la tecnología. Ventanas Formas (disponibles a partir de. Neto. Marco 1.0) y Fundación de presentación de Windows. (Disponible de. Neto.Marco 3.0). La última tecnología es más nueva y prometedora.


aplicaciones web Se diferencian del escritorio, lo que trabajan remotamente en el servidor web. Usuario Utiliza aplicaciones web a través del navegador y el protocolo. Http./ Https. La ventaja de este tipo de aplicación es que no hay necesidad de instalarlos en un ordenador Cada usuario - adjunto archivo Necesito instalar en la web. servidor, después de lo cual está disponible para todos los usuarios. Sin embargo, la desventaja de dichas aplicaciones es la capacidad limitada para construir interfaces de usuario. Esto se debe al hecho de que interfaz de usuario basado en formatos Html, CSS. Y JavaScript, que son bastante limitados. Por lo tanto, la funcionalidad de la interfaz de usuario suele ser bastante limitada.

Dado que las aplicaciones web tienen una desventaja grave: características limitadas. por La formación de la interfaz de usuario: apareció un nuevo tipo de aplicación, que se llama aplicaciones en línea ricas o aplicaciones de Internet con una interfaz de usuario rica (aplicaciones de Internet ricas, RIA). La ideología de estas aplicaciones es que navegador integrar especial adición (complemento), que es capaz de mostrar adicional tipo de contenido. Después de eso cuando usuario Elimina la página en el navegador, el código del programa se transfiere al lado del cliente, que funciona como parte de esta adición. Dado que en este caso, el código completo funciona en el lado del cliente, los desarrolladores aparecen más oportunidades por formando interfaces de usuario.

Para construir tal tipo de aplicación hay varias tecnologías. Una de las tecnologías más famosas es la tecnología Adobe. Destello.. Además, también hay una tecnología. Microsoft Silverlight.Lo que le permite integrarse más convenientemente con otras tecnologías dentro. Neto. Marco de referencia.

Otro tipo de aplicaciones son servicios (o servicios web). Los servicios son un cierto código de software que se encuentra en el servidor y comienza por Solicitud del usuario. Por ejemplo, puede crear un conjunto de servicios. por trabajando con datos de base de datosalmacenado en el servidor. Por lo general, otros tipos de aplicaciones (aplicaciones de escritorio, aplicaciones web, etc.) se refieren a servicios para realizar cualquier operación en el servidor o obtener datos del servidor.

Dentro de la plataforma. Neto. Marco Hay una serie de tecnologías que le permiten crear servicios. La tecnología más antigua es ÁSPID..Red neta. Servicios. Le permite crear servicios web simples que funcionen. por Protocolo Http./ Https. Desarrollo adicional Tecnología fija Fundación de comunicación de Windows (WCF). Esta plataforma es la herramienta más poderosa y flexible que admite. diferentes tipos canales ( Http., TCP., con nombre de canales, etc.) y amplía significativamente las oportunidades del desarrollador. por Creando servicios.

También hay sucursales adicionales del proyecto WCF, esto es WCF Sindicación. Extensiones (RESTO WCF) y ALHARACA..Datos netos. Servicios. Estos proyectos están diseñados para garantizar que sea conveniente construir servicios de acceso a datos.

Finalmente, el último tipo de aplicaciones son aplicaciones móviles. Aplicaciones móviles Trabajar como parte de dispositivos móviles basados \u200b\u200ben el sistema operativo. Windows Mobile. Para dispositivos móviles, también hay un subconjunto de posibilidades. Neto. Marco llamado. Compacto neto. Marco de referencia.

Así, todo el espectro de tecnologías dentro de la plataforma. Neto. El marco se puede enviar al siguiente esquema.