2017-02-23 47 views
0

發送消息給用戶ID這是應該項目是如何工作的整體:
1. Mysql數據庫保存所有用戶ID
2.在服務器,它具有的功能,如ASPX web服務(連接到MySQL) GetMessage/SendMessage
3.來自客戶端應用程序的用戶將他的ID,接收者ID和消息發送給Webservice
4. Webservice將消息放入mysql數據庫(帶發送者ID和接收者ID)
5. SignalR應發送通知(ex senderID X發送給你一條消息)給特定用戶的客戶端應用程序(如果他當時已連接),然後客戶端應用程序聯繫web服務並從mysql返回消息。

SignalR:從數據庫

客戶端應用程序是Xamarin的Android項目
Webservice的是簡單的asp.net web服務

的問題是:
如何連接的客戶端地圖從MySQL中的用戶ID?希望它是有道理的。

回答

0

Mapping SignalR Users to Connections教程解釋瞭如何做到這一點。雖然它沒有顯示如何使用MySql來保存數據,但它顯示了您選擇的存儲不會強加給您 - 它們會顯示兩個用於存儲用戶數據的不同數據存儲庫。基於這些示例,您應該能夠使用MySql實現類似的功能。

+0

謝謝,這看起來像一個解決方案! – rokastokas

+0

還有一個問題。 IUserIdProvider userId是唯一的嗎?每次同一個用戶都一樣嗎? – rokastokas

+0

不知道爲什麼它很重要,但自工廠註冊:'GlobalHost.DependencyResolver.Register(typeof(IUserIdProvider),()=> new MyIdProvider());'我相信你會每次都得到一個新的實例。 – Pawel