Вы находитесь на странице: 1из 4

CMO CREAR UN SERVIDOR REMOTO MEDIANTE VISUAL BASIC.

NET
Identificacin del artculo: 300951 - Vista productos que se aplica este artculo.

Este artculo se public anteriormente con el Q300951 Expandir todo | Contraer todo

En esta pgina RESUMEN


En este artculo se muestra cmo crear un servidor remoto sencillo al que puede acceder a otra aplicacin. La aplicacin que tenga acceso a este servidor puede estar ubicado en el mismo equipo, en un equipo diferente, o en una red diferente. El servidor remoto se divide en dos partes: el objeto servidor y el servidor de aplicaciones. El objeto de servidor es el objeto con el que se comunica el cliente y el servidor de aplicaciones se utiliza para registrar el objeto de servidor con el tiempo de ejecucin Remoting.

Requisitos
En la lista siguiente se describe el hardware, software, infraestructura de red y service packs que necesita: Visual Studio. NET En este artculo se supone que est familiarizado con los temas siguientes: Visual Studio. NET Visual Basic. Redes

Crear un objeto de servidor remoto


El primer paso para crear la aplicacin de servidor consiste en crear el objeto de servidor. El objeto de servidor es lo que la aplicacin cliente crea una instancia y se comunica con el ordenador servidor. La aplicacin cliente se hace a travs de un objeto proxy que se crea en el cliente. En este ejemplo, el objeto de servidor reside en una biblioteca de clases (DLL) y se llama myRemoteClass . 1. Crear una aplicacin de biblioteca de clases en Visual Basic. NET. Class1 se crea de forma predeterminada. 2. En el Explorador de soluciones, cambie el nombre del archivo de cdigo Class1.vb a ServerClass.vb. 3. Abierto ServerClass.vb, y cambiar el nombre de Class1 a myRemoteClass. myRemoteClass debe heredar de laMarshalByRefObject clase. Esta clase debe aparecer como sigue: 4. MyRemoteClass Public Class 5. Hereda MarshalByRefObject 6. 7. 8. End Class 9. Agregue un mtodo pblico a myRemoteClass que toma una cadena, muestra un mensaje en la consola con un valor de la cadena, y devuelve True si la cadena no est vaca. 10. MyRemoteClass Public Class 11. Hereda MarshalByRefObject

12. 13. 14. 15. 16. 17. 18. 19. 20. End

SetString Funcin Pblica (sTemp As String) As Boolean Tratar de Console.WriteLine ("Esta cadena '{0}' tiene una longitud de {1}", sTemp, Len (sTemp)) Volver (sTemp <> "") Coger Volver (Falso) End Try End Function Class

21. Genere el proyecto para crear el ensamblado ServerClass.dll. 22. Guarde y cierre del proyecto.

Crear una aplicacin de servidor remoto


Despus de crear el objeto de servidor con el que se comunicar el cliente, debe registrar este objeto con el marco de trabajo Remoting. Al registrar el objeto, tambin debe iniciar el servidor y que el servidor escuche en un puerto para los clientes conectarse a ese puerto. Para ello, se necesita un tipo de proyecto que crea un archivo ejecutable. El objeto de servidor se incluye en un proyecto independiente por lo que fcilmente puede hacer referencia al objeto de servidor desde el proyecto del cliente. Si se incluye el objeto de servidor en este proyecto, no se puede hacer referencia a ella ya que las referencias slo se pueden establecer en archivos DLL. 1. Para simplificar, cree una nueva aplicacin de consola en Visual Basic. NET para iniciar el servidor remoto. Module1 se crea de forma predeterminada. 2. En el Explorador de soluciones, cambie el nombre del archivo Module1.vb a ServerObject.vb. 3. Agregue una referencia a la System.Runtime.Remoting espacio de nombres. 4. Agregue una referencia al ensamblado ServerClass.dll que cre en la seccin anterior. 5. Utilice la importacin declaracin sobre la remoting , Remoting.Channels y Remoting.Channels.Tcp espacios de nombres para que no tenga que calificar las declaraciones de esos espacios de nombres ms adelante en el cdigo.Debe utilizar la Importacin declaracin antes que cualquier otra declaracin. 6. Las importaciones System.Runtime.Remoting 7. Importaciones System.Runtime.Remoting.Channels 8. Las importaciones System.Runtime.Remoting.Channels.Tcp 9. Declare la variable apropiada. Para ello, declarar e inicializar una TcpChannel objeto que escuche a los clientes que se conectan a un puerto determinado, que es el puerto 8085 en este ejemplo. Utilice el RegisterChannel mtodo para registrar el canal con los servicios de canal. Agregue el cdigo siguiente declaracin en el procedimiento Main del mdulo predeterminado: 10. Dim chan Como TcpChannel = new TcpChannel (8085) 11. ChannelServices.RegisterChannel (chan) 12. Llame a la RegisterWellKnownType mtodo de la RemotingConfiguration objeto de registrar la ServerClass objeto con el marco de trabajo Remoting y especifique los parmetros siguientes en el cdigo: a. El nombre de tipo completo del objeto que se est registrando (que es ServerClass.myRemoteClass en este ejemplo), seguido por el nombre del ensamblado ServerClass . Especifique tanto el nombre del espacio de nombres como el nombre de la clase. Debido a que no se ha especificado un espacio de nombres en la seccin anterior, el espacio de nombres raz predeterminado se utiliza. b. Asigne un nombre al punto final donde el objeto se va a publicar como RemoteTest . Los clientes necesitan saber este nombre para conectarse al objeto.

c. Utilice el SingleCall modo de objeto para especificar el parmetro final. El modo de objeto especifica la duracin del objeto cuando se activa en el servidor. En el caso de SingleCall objetos, una nueva instancia de la clase se crea para cada llamada realizada por un cliente, incluso si el mismo cliente llama al mismo mtodo ms de una vez. Por otro lado, Singleton objetos se crea slo una vez, y todos los clientes se comunican con el mismo objeto. 13. RemotingConfiguration.RegisterWellKnownServiceType (_ 14. GetType (myRemoteClass), _ 15. "RemoteTest", _ 16. WellKnownObjectMode.SingleCall) 2. Utilice el ReadLine mtodo de la consola objeto de mantener la aplicacin de servidor en ejecucin. 3. Console.WriteLine ("<ENTER> Pulse para salir ...") 4. Console.ReadLine () 5. Construya su proyecto. 6. Guarde y cierre del proyecto.

Pruebe el objeto de servidor


Para crear una aplicacin cliente que se comunica con el objeto de servidor que acaba de crear, consulte el siguiente artculo de Microsoft Knowledge Base: 300943 Cmo crear acceso de cliente al servidor remoto mediante Visual Basic. Volver al principio | Danos tu opinin

REFERENCIAS
Para obtener ms informacin, haga clic en los nmeros siguientes de artculo para ver los artculos en el Microsoft Knowledge Base: 301116 Cmo calcular la referencia de un objeto a un servidor remoto por valor mediante Visual Basic. 301112 Cmo calcular la referencia de un objeto a un servidor remoto por referencia mediante Visual Basic. Para obtener ms informacin acerca de la TcpChannel clase, vea el siguiente NET Framework sitio Web.: http://msdn2.microsoft.com/en-us/library/system.runtime.remoting.channels.tcp.tcpchannel (vs.71). aspx Para obtener ms informacin acerca de la RegisterWellKnownServiceType mtodo, consulte el siguiente NET Framework sitio Web.: http://msdn2.microsoft.com/enus/library/system.runtime.remoting.remotingconfiguration.registerwellknownservicetype(vs.71).aspx Para una visin general de. NET Remoting, consulte la documentacin del Desarrollador. NET Framework de Gua. Volver al principio | Danos tu opinin

Propiedades
Identificacin del artculo: 300951 - ltima revisin: 28 de agosto de 2007 - Versin: 2.2 Se refiere a:

Microsoft Visual Basic. NET 2003 Standard Edition Microsoft Visual Basic. NET 2002 Standard Edition

Palabras clave: kbhowtomaster KB300951 http://support.microsoft.com/default.aspx?scid=kb;es;300951&Product=vbNET

Вам также может понравиться