¿Qué es el servidor remoto?
Cosas muy complicadas:
Primera parte del aprendizaje del Remoting paso a paso: Empieza simple 1. ¿Cuáles son las ventajas y desventajas del Remoting? Ventajas: 1. Nos permite realizar desarrollo distribuido. 2. La velocidad de comunicación remota del canal Tcp es muy rápida. 3. Aunque es remoto, está muy cerca del objeto de llamada local. 5. No hay restricciones de aplicación. Puede ser una consola, winform, iis o un servicio de Windows que transporta objetos remotos: 1. Las aplicaciones no estándar tienen restricciones de plataforma. tener su propio mecanismo de seguridad 2. ¿Cuál es la diferencia entre servicios remotos y web? La infraestructura de servicios web ASP.NET proporciona una API sencilla para servicios web mediante la asignación de mensajes SOAP a llamadas a métodos. Implementa este mecanismo proporcionando un modelo de programación muy simple basado en mapear intercambios de mensajes SOAP con llamadas a métodos. Los clientes de servicios web ASP.NET no necesitan conocer la plataforma, el modelo de objetos o el lenguaje de programación utilizado para crearlos. Y los servicios no necesitan saber que el cliente les envía mensajes. El único requisito es que ambas partes acuerden el formato de los mensajes SOAP que se crean y consumen, que se define mediante una definición de contrato de servicio web expresada mediante WSDL y esquema XML (XSD). .NET Remoting proporciona una infraestructura para objetos distribuidos. Proporciona la semántica de objetos completa de .NET a procesos remotos mediante una canalización que es a la vez flexible y extensible. Los servicios web ASP.NET proporcionan un modelo de programación muy simple basado en el paso de mensajes, mientras que .NET Remoting proporciona características más complejas, incluido el soporte para pasar objetos por valor o referencia, devoluciones de llamadas y estrategias de activación de múltiples objetos y gestión del ciclo de vida. Para utilizar .NET Remoting, el cliente necesita conocer todos estos detalles y, en resumen, el cliente debe estar construido utilizando .NET. La canalización .NET Remoting también admite mensajes SOAP, pero es importante tener en cuenta que esto no cambia los requisitos del cliente. Si el punto final de Remoting proporciona semántica de objetos específica de .NET, ya sea a través de SOAP o no, el cliente debe comprenderla.
3. El ejemplo más simple de comunicación remota 1. Objeto remoto: cree un proyecto de biblioteca de clases: RemoteObject usandoSystem; namespaceRemoteObject { publicclassMyObject:MarshalByRefObject { publicintAdd(inta,intb) { returna+b; lado: RemoteServerusingSystem;usingSystem.Runtime.Remoting;namespaceRemoteServer{classMyServer{[STAThread]staticvoidMain(string[]args){RemotingConfiguration.Configure("RemoteServer.exe.config");Console.ReadLine();}}} Crear archivo de configuración : aplicación .config
Luego, al ejecutar el cliente directamente, aparecerá una excepción de "Host de destino rechazado", lo que también significa que el canal no está abierto para ejecutar el servidor. Luego, ejecutar el cliente dará como resultado "No se encontró el objeto remoto de ensamblaje". Pensando en retrospectiva, podemos encontrar que agregamos una referencia a RemoteObject en el lado del servidor. Pasó al compilar porque el objeto remoto no se usó en este momento. ¿Quizás no comprende que también pasó al ejecutar el servidor? Esto se debe a que el objeto remoto no se ha activado en este momento. Por supuesto, necesitamos agregar una referencia al objeto remoto en el lado del servidor. Después de todo, nuestros objetos están alojados de forma remota. Ahora ejecute el programa del servidor y el programa del cliente sucesivamente. El programa del cliente muestra 3, lo que indica que la prueba fue exitosa. 4. Conclusión Hemos implementado la comunicación remota más simple a través de un ejemplo simple sin ninguna introducción a su esencia. Creo que es más fácil comenzar con ejemplos
.