Transcripciones
1. Introducción: hola y bienvenidos a la cuarta clase fuera del blazer off de Siri en 2000 y 20 ahora en esta final. En realidad, vamos a cubrir todo lo que no cabía en las gafas anteriores. Digamos, por ejemplo, las interacciones de
JavaScript o correr de vuelta tiraron cosas muy importantes, pero no cosas básicas, no algo que pertenezca a la navegación, no algo que pertenezca a ninguna fuera del clases anteriores. Entonces vamos a cubrir más en este momento, y con eso podrás usar Blazer bastante probablemente, para que empecemos.
2. Web Sockets: Hola. En esta conferencia les mostraré cómo establecer un socket web. Una web pura. Futbol yendo de tienda de mar a ver tienda que es blazer lateral reclinado. Ver Tienda al lado de servicio. Ver Sharper en este caso, un P I Dr Corey P I C. Sharp. Correcto. Entonces no hay javascript involucrado? Ninguno en absoluto. Y ah, abajo ejemplo. Hemos tenido simplemente estados con estado fuera del socket. abre un k en este caso obviamente. Y entonces qué pasa en el servidor? En realidad tenemos una pequeña lista que almacena los mensajes de olor Y luego cada pocos segundos envía de vuelta un mensaje básicamente indicando cuánto o mejor dicho, cuántos mensajes se recibieron. Por lo que ves, perdido Chequeado al 47. 17 ahora. Y ah, ahora 20 HOK es cada tres segundos. Ah, ocio. Prueba baja Mejor derecho. Vamos a enviarlo. De acuerdo, entonces tenemos un poco de depuración pasando. Vamos a saltarnos a través de eso. Llegó así y ya lo hemos mandado. Y como pueden ver, ha cambiado. A llegó ha cambiado. Ahora echemos un vistazo a cómo funciona todo el asunto. En realidad es bastante interesante. OK, Entonces en la solución. Explorer en la solución Explorer, tenemos dos proyectos a diferentes proyectos. Contamos con una aplicación web, una que es el proyecto a P I. Y luego tenemos blazer Ramp uno, que es el lado cliente Blazer. Ahora, para el lado del cliente Blazer, solo
nos importa la maquinilla de afeitar de punto índice puesta para la aplicación. El ap on proyecto que realmente nos importa comenzó No tiene sentido. Entonces si entramos en eso, si entramos en eso, se
puede ver que tenemos Ah. Ah, un arreglo
bastante complicado. Cabello OK, Básicamente, para establecer esos enchufes que necesitas tener en el a p. utilizo enchufes web y luego el manejo real viene en cabello tienes uso. De acuerdo, has usado así y luego compruebas si el socket web está abierto, ¿de acuerdo? O más bien, se trata de solicitudes de socket Web por ahora. OK, tenemos Tenemos que comprobar por eso y luego comprobamos por las oficinas del partido, pero camino, Entonces aceptará el socket, y por lo tanto se abrirá. Ahora, el socket web real que tenemos en el programa no vemos s bien, está en el programa dot CS Si vamos, cabello
derecho programamos punto CS. De acuerdo, tenemos el Web socket, que viene del sistema dot net dot web sockets dot Web socket que llamamos WB y no es por el fuerte. Ahora, estos Web Saunders cazador difícil de configurar, pero son muy difíciles de usar de alrededor de muchos a normalmente está pasando con ellos y
lo más importante, somos bastante difíciles de encontrar en estos espacios de nombres un caso que volvamos al inicio de don 't CS. Ahora puedes ver que lo aceptamos y luego necesitamos hacer algunas cosas. Entonces básicamente, necesitamos ejecutar algunas tareas, pero lo que también necesitas hacer en este uso de la app necesitas no dejarlo escapar por completo. Por lo que nos creamos bucle a menudo vacío y que bucles tipo de me impide escapar mientras el estado está abierto. De acuerdo, si se cierra, obviamente se escapa y todo se apaga. Pero en la primera tarea en la primera inicia curl, nosotros fuera de curso que hacemos mientras un k lo hacemos mientras Y aquí es donde recuperamos. Pero recuperamos el resultado. Por lo que recibimos un fregadero. Recibimos Abita re. De acuerdo, recibimos mi bodega. Lo tomamos en pelo de Ryan en nuestro pequeño Botha. Y luego agregamos a la lista de mensajes recibidos justo aquí. Hemos recibido mensajes, cadena de
lista, lista de cadenas, y simplemente obtenemos el texto de estos puntos de una matriz de enlace. Y agregamos en el mensaje es ahora para el envío de un mensaje. Volvemos a ejecutar una tarea diferente porque obviamente no funcionarían juntos. Bueno, como sí tenemos que poder recibir una respuesta, necesitamos esperarla todo el tiempo. Y esto sería tener diferente derecho? Eso básicamente lo que tenemos aquí es que nos vamos gratis 1000. De acuerdo, milisegundos. Eso es más de tres segundos y luego enviamos un mensaje al cliente. Enviamos un mensaje a un cliente viendo mensaje recibido mensajes, es
decir, recuento y perdido. Revisado mucho dedo del pie significado comprobado más adelante Con eso, agregamos el tipo y luego lo verdadero significa el final de un mensaje. Si es hasta el final de un mensaje de lo seguimos esperando. Este es básicamente el arreglo de signo de servicio. Hay muchas opciones para elegir realmente entre muchas formas de manejar esos diferentes errores. Esto es s fuera de una manera primitiva. Pero te estoy dando un gran punto de partida desde el que puedes expandirte y manejar diferentes errores. Y tú siempre lo de las cosas. Ahora bien, si vamos al índice dot razor, que tiene con porno con realmente interesante para nosotros,
correcto, correcto, tenemos a nuestro cliente,
nuestro cliente de socket web y que es en realidad cliente web socket. Por lo que este viene del sistema dot net web sockets cliente web socket. Nosotros lo llamamos C l Web socket, en este caso, ¿
verdad? Y lo construimos. Acabamos de construir como cualquier variable normal así como así. De acuerdo, con eso, tenemos nuevo mensaje wearable, que está pensando en la entrada. Y entonces también hemos recibido display de mensajes, que mostramos. Este es el mensaje asunto se muestra. De acuerdo, entonces ¿cómo recibirlo? Esta es una parte un poco complicada. Percival sobre inicializar el pensar que necesitamos para realmente hacer una conexión. Y para ello, dio esperar CEO up socket. Está bien. Y usa conecta un fregadero, conecta un fregadero. Proporcionas la u. R I Vale, proporcionas el pelo derecho de tu ojo, que es básicamente tu nombre de dominio, tu anfitrión local y la ruta de los s, que declaramos en el arranque de punto CS Pero lo hacemos aviso, ¿Te das cuenta? Muy importante, tenemos Ah w s. entonces no es Http, No
es HCP s. es w s. entonces es un protocolo diferente, ¿
verdad? Tienes que usar esto. Esto es para capas de zócalo seguras. Y si no tienes eso, si no es conexión segura, harías doble U. S. Vale, entonces es bastante importante recordar es fácil perderte lo que verías el error muy claramente exhibido en el cónsul. Y entonces tenemos un token de cancelación, que no es ninguno. Básicamente lo sabemos. Ten uno ahora para recibir uno. Para recibir uno, necesitas ejecutar una tarea fuera de curso, correcto. Necesitas ejecutar una tarea y luego tenemos ah wow lips que estamos recibiendo mientras la conexión está abierta. Estamos recibiendo. Estamos recibiendo recibiendo recibiendo que dio por igual que tenemos en el servidor recibiendo derecho. Y entonces hemos recibido mensaje esperando y para recibirlo, necesitas hacer recibir un fregadero que es el Vita Ray. Entra en el pasado para rave un mensaje y luego tomamos protesta Y ponemos eso en el mensaje
recibido exhibido una cosa a anotar. Por supuesto, tenemos que usarlos Estate ha cambiado. De lo contrario nada va a funcionar realmente. Yo vine, por lo que esto es bastante importante recordar al respecto. Ahora ya has visto estas cosas de mensajes recibidos y no las estoy implementando en este momento porque como que estropearía las cosas. Pero si entramos en ella recibió mensaje así, se
puede ver que tenemos ah decir, por ejemplo, status
cercano. Contamos con una descripción de estado cercana. Tenemos conteo. Nosotros hemos avalado fin de mensaje. Por lo que básicamente describe en este caso describe dónde es un fin de mensaje o todavía
podemos ah, esperar otro mensaje para otro crédito Para completar ese mensaje con cuatro mensajes . Realmente no necesitas preocuparte por estas cosas. Debería funcionar encontrar al igual que Radha. Esto es más para especie de arreglo más grande otra vez y luego el estado de cierre. En realidad puedes enviar un mensaje de cierre y luego recibirme una cosa de cierre y manejar el cierre y el mensaje. Tipo de mensaje tipo tenemos dos veces para. Tener un impuesto. Combina una re. Por lo general vas a usar impuestos allí. Pero de nuevo, estoy dando desprende cosas básicas a partir de las cuales se puede construir. Ahora el enviarlo es bastante sencillo también. Es igual que en el lado de servicio. Bastante bien. O en el a p. r. En este caso, no un servicio. De verdad tenemos una espera una espera cl web socket, ¿
verdad? Voy a Web socket. Y luego mandas un fregadero y luego usas todas las cosas que has visto en la parte A P I. De acuerdo, obtenemos las picaduras del texto. Entonces declaramos un tipo de mensaje y tenemos un verdadero y un mensaje, ¿no? Envía un mensaje y luego tenemos token de cancelación, que no tenemos. Entonces no hacemos nada. Y eso es todo. Así funciona. Ha estado corriendo desde hace bastante tiempo, ¿verdad? De acuerdo, bueno, lo
tenemos funcionando. Correcto. Tener esto es V a p I parte corriendo ahora. Este sería el lado del cliente corriendo la mitad derecha. Envía otro mensaje. Se d bichos. De acuerdo, es tipo de corsé en este punto y se puede ver que recibimos los servicios de bind. Nuestro Botha, no
se necesita Bata completa. Recibimos las picaduras. Entonces así como así, podemos continuar ¿verdad? Y nos va a dar. Ya ves, ahora
tenemos dos mensajes. Entonces así es como funciona. Así es como se ejecuta. Simplemente no olvides que tienes Teoh primero ejecutar el proyecto A P I cuando Run d
proyecto lado cliente . Obviamente, Phoebe, no
voy a correr. No tendrá nada con qué conectarse o simplemente ejecutar el lado del cliente. Proyecto uno Lanzamiento VP I proyecto y luego refrescar proyecto lateral de reclinación. Y antes de eso dicho concluiremos con una conferencia.
3. Tareas de fondo: Hola En esta conferencia se echará un vistazo a alguna tarea de fondo en
ejecución, ejecución de ellos, iniciándolos y todas esas cosas básicamente las más importantes. Pero realmente lo has visto ya en la causa. Pero yo sólo quiero destacar, no porque sea muy, muy importante. Y en realidad estarás usando esto. Entonces en nuestro ejemplo, cabello
correcto, sólo
tenemos ah, jugueteando Una cosita. Básicamente, tenemos,
Ah, Ah, número
aleatorio cambiando cada pocos segundos o cada pocos milisegundos. Más bien. De acuerdo, se
puede ver como que sólo cambia en la ronda del banco y lo lleva al primer plano. Lo exhibe, y eso es todo. De acuerdo, entonces echemos un vistazo a cómo funciona realmente. Y sólo estamos mirando el punto índice Levanta la mano derecha. No hay nada de fantasía sobre el partido. Yo entré. Tenemos una cadena llamada para display. Visualizamos cuando el cabello agregamos algún tamaño extraño para hacerlo un poco más grande. De acuerdo, Y entonces tenemos esta tarea de antecedentes. Entonces lo que tenemos aquí está apagado. Bucle indefinido dicho demasiado cierto. Corrirá para siempre. Básicamente. Y entonces tenemos un peso. Por lo que espera un segundo y genera así construye un nuevo aleatorio. Y a partir de ahí genera un nuevo número aleatorio. De acuerdo, entonces sería un ejemplo muy inútil si no fuera blazer. Si no tuviste que exhibirlo en primer plano en ese You I Fred. OK,
entonces, ¿qué pasa? Esto Esta es una tarea de fondo y la razón por la que es un trasfondo pláticas porque no esperamos. Simplemente tipo de dejarlo correr en segundo plano y ese conjunto Así que uno debería establecer que
no cambiaría a menos que tuvieras esto. Ya ves, tenemos ah, el estado ha cambiado. Entonces lo estamos firmando. Y en un método normal, uh, cambiaría nuestra forma de onedio. Necesitarías cualquier trabajo adicional. Pero si lo tienes en segundo plano necesitas iniciar con estado ha cambiado, lo contrario nada cambiará. Entonces cuando trabajas de estos lanzamientos de fondo, si algo está en mostrar, aunque debería, este es probablemente el tema a mirar primero. De acuerdo, Entonces con todo lo dicho, concluiremos con una conferencia
4. Ejecutar JavaScript: Hola, Invertir conferencia. Quiero mostrarte cómo ejecutar JavaScript desde C shop, cómo acceder a alguna función de agarre de cáliz y ejecutada desde C sharp y luego obtener un retorno de ella también. Ahora, en este bajo ejemplo, tenemos, ah, algunas cosas básicas. Básicamente algunas cosas a las que simplemente no se puede acceder a blazer de gripe. Y una de esas cosas sería el almacenamiento que es almacenamiento de sesión de almacenamiento local de nuevo. Entonces esas cosas a las que no puedes acceder, por lo que es una buena manera de acceder realmente a ella a través de este tipo de función de interrupción, ¿de acuerdo? Y luego también puedes ejecutar tu código GS personalizado. A lo mejor tienes algún código viejo. Lo estás integrando con blazers demasiado complejo. O quizá tengas una biblioteca que quieras usar. Es decir, biblioteca E G s, cáliz, guión, biblioteca. Entonces si hago clic en eso, se ejecuta, devuelve el número, muestra tu función, y luego tenemos inserto en el almacenamiento. Entonces insertamos algo bien, y luego te recuperamos. Ver, tenemos valor de prueba. Entonces así es como funciona el ejemplo. Es z bastante simple. Realmente solo necesitas ver el código. Está bien. Y, ah, el código En primer lugar, tengo que explicar la estructura. De acuerdo, entonces vamos Teoh Ah, Blazer app Y luego nos g o a w ruta. Aquí es donde quieres tener tus archivos javascript. Y aquí es donde quieres tener tus archivos CSS también. Al igual que una ruta W y W. Ahora, este es nuestro archivo Js Eso vino. Tenemos nuestro archivo Js y la forma en que lo
declaras, no puedes hacerlo en Reza. No puedes hacerlo en Daughtry's un archivo que necesitas Teoh puede declararlo. Ah Fatchett Más bien en el archivo html en el archivo HTML inicial. Cabello derecho. Ya ves, tenemos ah, guión. ¿ Gs presentó o Gs como ella vio. Funciona perfectamente ahora para el lado de servicio. Si tienes que hacer algo como esto, lo
declararías en el mar como archivo html dot en ese archivo host. En ese expediente inicial, eso es más o menos una cosa temática, ¿
verdad? Y el expediente real. Ya ves, lo que tenemos tiene un poco de estructura pasando. En primer lugar, envolvemos todo en esta prueba variable G s Vale, Así que tienes este espacio de nombre predefinido que lo envolvemos en esta prueba, ella s y luego tenemos nuestro nombre de función. Tenemos función de prueba, y luego tenemos un par de argumentos, ¿de acuerdo? Puede proporcionar argumentos. Y luego tomamos un regreso. En realidad no tienes que tomar en un retorno. Se puede ejecutar avoider. De acuerdo, así que no tienes que hacer eso. No tienes que aportar argumentos sobre que sí quiero mostrarte todas las posibilidades que existen. Ahora bien, si vamos al índice doc razor. De acuerdo, Primero que nada, tenemos el primer método, ¿no? Ejecutar, probar la función ahora para que cualquier cosa funcione en términos de interacciones gs JavaScript. Necesitamos esta inyección. Nosotros inyectamos i j s tiempo de ejecución, y en este caso, lo
llamamos J s nunca bajan un poco a fondo. Correcto Así. Nosotros hemos corrido. Tenemos función de prueba de ejecución. De acuerdo, Tenemos función de prueba de ejecución, y luego tenemos doble, que es desplazando para la pantalla uno. Este es el resultado. Como viste, si no viste que claramente tenemos un par de argumentos y luego simplemente los sumamos juntos en esta la función javascript y los devolvemos ahora en el método, hacemos una espera y desde Maggie como inyección usamos en reservar un método de fregadero en libro un fregadero. Está bien. Y luego declaras el tipo de devolución. Tú demasiado inteligente. tiempo de retorno se convirtió, y luego se devuelve y se asigna. Ahora, lo que necesitas proporcionar es básicamente el nombre de una función, o más bien, el espacio de nombre completo para toda la función. ¿ De acuerdo? No se escribe en una función completa, como se puede ver, pero se proporcionan argumentos en esta lista fuera de argumentos, por lo que no se tiene ningún paréntesis no es nada de eso. De acuerdo, sólo proveedles. En especie de para que así no puedas tener cuerdas. Puedes tener Ah, números. Pero, ¿tienes cuidado? Porque JavaScript, por
supuesto, como probablemente sabrás, tiene un pez bastante lejos manejando diferentes tipos. De acuerdo, entonces podemos invocar un fregadero, declarar un tipo, o simplemente podemos hacer un vacío o evitar Así que sí invocarías vacío, un fregadero, y eso no tendría retorno. Básicamente. Ahora no vamos a hacer eso, pero podemos echar un vistazo a otra opción. Ah, estas suaves ah nativas, funciones de y javascript ofrece un artículo tan conjunto para el almacenamiento local. No tienes que definirlo de ninguna manera. Simplemente puedes declararlos encendidos. Corrirlos. De acuerdo, entonces en este caso, tenemos de artículo de conjunto de almacenamiento local. Básicamente hay inserciones el nuevo valor. De acuerdo, entonces tenemos Ah, la llave para eso. Tú y los valores de prueba de valor ahí, inserte en el almacenamiento. Lo vendiste, pero en acción. Y luego el 2do 1 mucho lo mismo que tenemos, ah, almacenamiento
local. Obtener artículo. En este caso, sólo
estamos brindando un derecho soportable? Y eso es voto. Entonces lo recuperamos. Y aquí mismo le asignamos una pantalla extranjera a Así que así es básicamente como vuelve a funcionar. Es que es bastante fácil de usar. No hay trucos y trucos reales en eso. Simplemente una forma sencilla de acceder a javascript. Y antes de eso dicho concluiremos esta elección