我遇到了一個項目問題,我在工作中正在進行的項目中,我希望這裏有人能夠提供幫助。引用客戶端上現有的SignalR連接
沒有在應用程序本身進行太多的細節,我們有一個需要使用SignalR的位置服務。這個想法是,每個客戶端(當我說「客戶端」我的意思是「使用應用程序的人」)將被分配給特定的「任務」,並將其GPS位置每2(可配置)秒發送到Azure工作者角色,它將把接收到的數據存儲在兩個Azure表中。然後,第二個工作人員角色將從表中獲取數據,並向給定任務上的每個客戶端發送SignalR消息,並將所有其他客戶端的位置分配給相同的任務。
我目前有一個測試客戶端(目前是Winform,但它將是一個UWP應用程序),它可以成功使用SignalR將位置消息直接發送到其他客戶端,我不認爲它會成爲太難以插入Azure端的東西,但我的問題是弄清楚如何使用SignalR組來確保消息只進行特定的任務(我想最好的方法是使用ID來命名組),但是當集線器連接首次建立時,沒有用於命名該集團的任務ID,並且創建任務的代碼中沒有任何直接訪問集線器信息的點。我可能錯過了一些顯而易見的東西,但現在似乎沒有任何方法可以將客戶端添加到最初連接到創建任務時所在的同一集線器連接上的組中。
TL-DR:有沒有辦法讓我將客戶端添加到具有特定名稱的SignalR組中,從另一個項目中的類中,在應用程序啓動時連接到的中心上?
如果任務創建/分配類沒有對集線器的引用,我如何在任務分配時創建SignalR組/分配連接到組? – Trihan
任務分配應該至少有一個用戶ID參考。所以使用這個用戶ID你會得到中心引用。 –
他們有一個用戶ID參考,但我不確定這是如何與SignalR集線器相關的,因爲它們完全分開。對不起,如果我聽起來很愚蠢,我從來沒有用過SignalR。 – Trihan