Frage

im Gespräch mit dem COM-Port auf meinem lokalen Computer

Ich habe nach einem Weg, hoch und niedrig gesucht meine Silverlight-Anwendung zu bekommen. Hat jemand da draußen der Lage gewesen, Silverlight zu bekommen erfolgreich an den COM-Port Sie lokalen Computer zu verbinden? Wenn ja, können Sie mich auf die Dokumentation verweisen.

War es hilfreich?

Lösung

Das kann nicht mit Silverlight durchgeführt werden.

Warum nicht einfach eine Standard-.NET-Desktop-Anwendung verwenden? Wenn Sie auf einfache Weise über das Web bereitstellen, verwenden Sie nur Click-Einmal für die Bereitstellung.

Andere Tipps

Es gibt keinen Zugriff auf Computer-Ressourcen, aber Sie können mit Sockets kommunizieren. So ist es möglich, die Benutzer installieren eine Anwendung zu haben, die auf einem Port lauscht und steht in Verbindung mit einem COM-Port.

Warum versuchen Sie, mit einem COM-Port zu kommunizieren? Wenn Sie sich für die Webcam-Unterstützung suchen, werfen Sie einen Blick auf Jonas 'Hack, die Flash verwendet Webcam Eingang zu bekommen: http://jonas.follesoe.no/WebcamInSilverlight2MacGyverStyle.aspx

Sie können dies tun, indem Sie einen Buchse Verbindung von Ihrem Silverlight-Steuerelement zu einem lokalen Socket zu öffnen, die intern den COM-Port Zugriff

Silverlight 4 können Sie mit COM (ActiveX) communciate. Ich habe einen Blog-Artikel darüber geschrieben, wie man mit einer COM-Bibliothek zu kommunizieren, die mit der seriellen Schnittstelle unterstützt in Verbindung stehen.

http: //tech-michael.blogspot .com / 2009/12 / Silverlight-talking-to-arduino.html

Beachten Sie, dass das Active-Objekt erwähnt ist kommerziell.

Ich denke, die Jungs es schön summiert haben bereits -. Silverlight in einer engen Sandbox ist und Sie haben keinen Zugriff auf den COM-Port oder andere lokale Ressourcen bekommen

Lassen Sie uns also beginnen, über Alternativen nachzudenken:

  • Verwenden Sie Clickonce und eine vollständige .NET-Anwendung -. Gibt Ihnen die einfache Bereitstellung und udpates, und Sie werden um die volle Leistung des .NET-Frameworks haben
  • Verwenden Sie eine XBAP (Browser Eingesetzte WPF), die einige zusätzliche Berechtigungen erfordert. Würde im Browser lebt, aber nur mit .NET 3.0 / 3.5 installiert
  • auf Windows-Rechnern laufen
  • Schreiben Sie ein ActiveX-Steuerelement, die mit dem GPS-Gerät spricht und eine API aus. Dann JavaScript verwendet diese API zu konsumieren und mit dem JavaScript-Code von Silverlight in Wechselwirkung treten. Dies würde Ihnen eine GPS-Anwendung im Browser, aber die Benutzer würde eine zusätzliche GPS-ActiveX-Komponente installieren.

Cheers, Jonas

Sie können es immer noch aus Browser laufen und einen Wrapper wie

nutzen

http://interopcom.codeplex.com/ (geschrieben von mir)

Viele Grüße, Paul

Mit dem lokalen Computer meinen Sie den Computer der Silverlight-Client-Anwendung läuft auf? Silverlight läuft in einer Sicherheits-Sandbox, und es ist zweifelhaft, Sie Hardware-Ressourcen wie so verbinden können.

Jon,

Ich versuche eigentlich meinen GPS von Silverlight zu lesen. Ich habe ein interessantes Konzept, das ich ausprobieren wollte, aber ich habe versucht, für eine Null zu gehen Fußabdruck installieren.

Was ist, wenn Sie möchten, dass Ihre Anwendung auf Windows und Mac laufen zu lassen? Silverlight ist eine schöne Lösung, da es auf beiden läuft. Wenn Sie eine WPF-Anwendung oder ein ActiveX-Steuerelement schreiben usw., wird dies auf Windows bindet nur noch einmal.

Sie können Silverlight 5 an den lokalen COM-Port anschließen sowie jede andere lokale Ressource, sondern nur mit der Silverlight-Anwendung unter Windows ausgeführt wird (nicht Mac) und beim Laufen entweder OOB (Out-of-Browser) oder Ein- Browser Internet Explorer.

Die Art und Weise dies geschieht, ist durch die Schaffung einer klassische COM Automatisierungskomponente, und Ausführen der Anwendung mit Full Trust. Es gibt einen Registrierungsschlüssel Sie festlegen können, Silverlight 5 Anwendungen zu ermöglichen, mit vollem Vertrauen in-Browser in der Lage sein zu laufen, aber die Anwendung ist zu unterzeichnen und der öffentliche Schlüssel muss auf dem lokalen Rechner, vertrauenswürdige Herausgeber importiert werden.

Ist das erledigt, Silverlight unterstützt AutomactionFactory, so dass Sie lokal registrierten com Automatisierungsobjekte zuzugreifen. Wir verwenden diese Funktion ausgiebig; es ist sehr mächtig. In diesem Fall haben wir eine COM-Komponente, die Zugriff auf das Objekt gibt Serialport und gab es ein Verfahren, um eine Liste aller verfügbaren Ports zurückzukehren.

If AutomationFactory.IsAvailable Then
      SilPort = AutomationFactory.CreateObject("SilverPort.Ports")
      Dim AllPorts() As String
      AllPorts = SilPort.GetPortNames()
      ...
End If
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top