2017-02-23 4 views
0

Dies ist, wie ganzes Projekt arbeiten soll:
1.e Mysql Datenbank alle hält den Benutzer-IDs
2. Es gibt aspx Webservice (zu mysql verbunden) in dem Server, die Funktionen wie GetMessage/Sendmessage
3. Benutzer von Client-Anwendung sendet seine ID, den Empfänger-ID und eine Nachricht
4. WebService Webservice stellt eine Nachricht in mySQL-Datenbank (mit Sender-ID und Empfänger-ID)
5. SignalR abschicken sollte (ex senderID X hat Ihnen eine Nachricht geschickt) an die Client-App des jeweiligen Benutzers (wenn er gerade verbunden ist) und die Client-App kontaktiert dann den Webservice und gibt eine Nachricht von mysql zurück.

SignalR: Nachricht an Benutzer-ID aus der Datenbank zu senden

Client-App ist Xamarin android Projekt
Webservice ist einfach asp.net Webservice

Das Problem ist:
Wie man einen angeschlossenen Client mit einer Benutzer-ID von mysql abzubilden? Ich hoffe es macht Sinn.

Antwort

0

Mapping SignalR Users to Connections tutorial erklärt, wie man das macht. Es zeigt zwar nicht, wie Sie MySql verwenden, um Ihre Daten persistent zu machen, es zeigt jedoch, dass der von Ihnen gewählte Speicher Ihnen nicht aufgezwungen wird. Sie zeigen zwei verschiedene Datenspeicher, die zum Speichern von Benutzerdaten verwendet werden. Sie sollten in der Lage sein, basierend auf diesen Beispielen eine ähnliche Funktionalität mit MySql zu implementieren.

+0

Danke, das sieht nach einer Lösung aus! – rokastokas

+0

Eine weitere Frage. Ist IUserIdProvider userId eindeutig? Wird es für den gleichen Benutzer jedes Mal gleich sein? – rokastokas

+0

Nicht sicher, warum es wichtig ist, aber seit eine Factory registriert ist: 'GlobalHost.DependencyResolver.Register (typeof (IUserIdProvider),() => neue MyIdProvider());' Ich glaube, Sie erhalten jedes Mal eine neue Instanz. – Pawel

Verwandte Themen