2016-09-03 2 views
0

Ich entwickle windows application in C# .Ich Website, die in ASP.NET C# entwickelt, die desktop app Schaltfläche enthält, wenn der Benutzer click auf diese Schaltfläche, er desktop app Benutzer-Login umleiten und Videos vom Computer auf server .Aber mein Problem laden ist, wie die Interaktion windows app mit asp.net C# Web-Anwendung.User Videos hochladen und dann Benachrichtigungen im Web.Wie interagieren Windows Forms App zu asp.net C# web? C#

+1

http://stackoverflow.com/questions/3397051/how-can-i-get-my-web-application-to-communicate-with-my-desktop-application –

Antwort

0

IMO gibt es mehrere Ansätze dazu.

  1. Sie der Benutzer die EXE herunterladen machen und dann die gleiche
  2. laufen Wenn Sie den Speicherort der EXE-Datei auf dem Computer des Benutzers kennen, können Sie JavaScript ActiveX-Objekt verwenden, es
  3. Sie registrieren können, um ausführen ein URI-Schema auf dem Computer des Benutzers und wenn Benutzer auf den Link den Link (wie myexe://exePathOrDescription) klickt, wird der entsprechende Shell-Befehl ausgeführt, so dass die ausführbare Datei ausgeführt wird (übrigens funktionieren Skype-Aufrufschaltflächen auf der Webseite und Magnet-Torrent-Links)

1. Laden Sie EXE herunter und führen Sie das gleiche aus Dies ist der einfachste Ansatz, bei dem der Benutzer auf einen Link wie <a href="/internalServer/unknownFile.exe">Do not run this file</a> klickt und dann aufgefordert wird, die Datei zu speichern oder auszuführen. Der Benutzer kann auf "Ausführen" klicken und nach dem Herunterladen wird die Anwendung vom Browser ausgeführt.

2. Wenn Sie den Pfad zur Datei kennen, können Sie JavaScript verwenden

var activeX = new ActiveXObject("WScript.Shell"); 
activeX.Exec("C:\\folder\\executable.exe"); 

Hinweis:ActiveXObject nur auf IE zur Verfügung steht. Für andere Browser zu den Antworten zu diesem SO question

3. Register URI-Schema (btw, mein Favorit) beziehen Hier können Sie ein Dienstprogramm-Anwendung erstellen, die für einmal heruntergeladen und ausgeführt werden, um zu registrieren, die URI benötigt werden Schema oder alternativ können Sie Ihrer Anwendung Code hinzufügen, um das URI-Schema zu registrieren, wenn die Anwendung zum ersten Mal ausgeführt wird.

Dann können Sie Links auf Ihrer Webseite erstellen, die mit Ihrem URI-Schema beginnen (wie myExeScheme://pathToExecutable_URLEncodedWillBeBetter). Wenn das URI-Schema auf dem Computer des Benutzers registriert ist und der Benutzer auf den obigen Link klickt, wird der entsprechende Shell-Befehl (der während der Erstellung des URI-Schemas definiert wurde) ausgeführt und Ihre Anwendung wird ausgeführt.

Nachdem die Anwendung ausgeführt wurde, kann der Benutzer mit der Anmeldung und anderen Aufgaben in der Anwendung fortfahren.

registrieren URI-Schema zu diesem SO question


Für zweiten Teil auf die Antworten verweisen: Hochladen von Bildern von Desktop-Windows-

Sie einen Web-Service erstellen, die Sie Bild schieben werden/Videodaten werden als Base64-Zeichenfolge codiert und dann nach dem Empfang auf dem Server decodiert. Jetzt könnte die Zeichenfolge sehr groß sein, so dass Sie möglicherweise die Daten in Blöcken wie 1KB Daten in einer Anfrage hochladen müssen, und dabei müssen Sie eine Strategie planen, wie Sie die Reihenfolge der hochgeladenen Daten beibehalten.


3. Teil: Wie Benachrichtigung angezeigt auf der Webseite

Sie JavaScript/JQuery/AJAX verwenden, kontinuierlich auf dem Server zu überprüfen, ob eine neue Datei geladen wird (die Anzahl der Anfragen beschränken Form der Seite durch die Verwendung von Logik wie Anfrage wird nur nach dem Klicken auf die Schaltfläche desktop app auf der Webseite, usw. gesendet werden. Wenn eine neue Datei geladen ist, öffnen Sie die Benachrichtigung.

HTH.