una serial puertos puerto interfaz funciones funcion conexiones conexion conectores computadora .net silverlight serial-port

.net - serial - puertos del cpu y sus funciones



Conexión de Silverlight al puerto COM de las computadoras locales (10)

¿Por computadora local te refieres a la computadora en la que se ejecuta la aplicación de cliente Silverlight? Silverlight se ejecuta en un entorno limitado de seguridad, y es dudoso que pueda conectarse a recursos de hardware de ese modo.

He estado buscando alto y bajo para obtener mi aplicación Silverlight hablando con el puerto COM en mi computadora local. ¿Alguien ha logrado que Silverlight se conecte con éxito al puerto COM de su computadora local? Si es así, ¿puedes indicarme la documentación?


Creo que los muchachos lo han resumido bien: Silverlight está en una caja de arena apretada y no tendrás acceso al puerto COM u otros recursos locales.

Así que empecemos a pensar en alternativas:

  • Use ClickOnce y una aplicación .NET completa: le ofrece una implementación sencilla y udpata, y tendrá todo el poder del .NET framework.
  • Utilice un XBAP (navegador desplegado WPF) que solicita algunos permisos adicionales. Viviría dentro del navegador, pero solo se ejecutaría en máquinas Windows con .NET 3.0 / 3.5 instalado
  • Escriba un control ActiveX que hable con el dispositivo GPS y exponga una API. Luego use JavaScript para consumir esta API e interactuar con el código JavaScript de Silverlight. Esto le daría una aplicación GPS dentro del navegador, pero sus usuarios tendrían que instalar un componente GPS ActiveX adicional.

Saludos, Jonas


Esto no se puede hacer con Silverlight.

¿Por qué no usar una aplicación de escritorio .NET estándar? Si necesita implementar fácilmente en la web, simplemente use Click-Once para la implementación.


Jon,

De hecho, estoy tratando de leer mi GPS de Silverlight. Tengo un concepto interesante que quería probar, pero estaba tratando de obtener una huella de instalación cero.


No hay acceso a los recursos de la computadora, pero puede comunicarse con los sockets. Por lo tanto, es posible que los usuarios instalen una aplicación que escuche en un puerto y se comunique con un puerto COM.

¿Por qué estás tratando de comunicarse con un puerto COM? Si estás buscando soporte para cámara web, échale un vistazo al truco de Jonas que usa Flash para obtener entrada de cámara web: http://jonas.follesoe.no/WebcamInSilverlight2MacGyverStyle.aspx


Puede hacerlo abriendo una conexión de socket desde su control Silverlight a un socket local que tenga acceso al puerto COM.


¿Qué sucede si quieres que tu aplicación se ejecute en Windows y Mac? Silverlight es una buena solución ya que se ejecuta en ambos. Si tiene que escribir una aplicación WPF o un control ActiveX, etc., esto lo vinculará nuevamente a Windows.




Puede conectar Silverlight 5 al puerto Comm local, así como a cualquier otro recurso local, pero solo con la aplicación Silverlight ejecutándose en Windows (no en Mac) y al ejecutar OOB (fuera del navegador) o en el navegador en Internet. Explorador.

La forma en que esto se hace es creando un componente de automatización COM clásico y ejecutando la aplicación con plena confianza. Existe una clave de registro que puede configurarse para permitir que las aplicaciones de Silverlight 5 puedan ejecutarse con plena confianza en el navegador, pero la aplicación debe estar firmada y la clave pública debe importarse a editores de confianza en la máquina local.

Una vez hecho, Silverlight admite AutomactionFactory, lo que le permite acceder a objetos de automatización de comunicación localmente registrados. Usamos esta característica extensivamente; es muy poderoso En este caso, creamos un componente COM que da acceso al objeto SerialPort, y le dimos un método para devolver una lista de todos los puertos disponibles.

If AutomationFactory.IsAvailable Then SilPort = AutomationFactory.CreateObject("SilverPort.Ports") Dim AllPorts() As String AllPorts = SilPort.GetPortNames() ... End If