वहाँ मैं चलाने के लिए कोशिश कर रहा हूँ श्रोताओं की संख्या (ग्राहकों एक केंद्र से जुड़े?)श्रोताओं, SignalR हब से जुड़े ग्राहकों की संख्या प्राप्त
पता लगाने के लिए एक रास्ता है/कार्य प्रारंभ करें कम से कम एक अगर ग्राहक से जुड़ा हुआ है, अन्यथा यह शुरू नहीं है:
[HubName("taskActionStatus")]
public class TaskActionStatus : Hub, IDisconnect
{
static CancellationTokenSource tokenSource;
public void GetTasksStatus(int? siteId)
{
tokenSource = new CancellationTokenSource();
CancellationToken ct = tokenSource.Token;
ITaskRepository taskRepository = UnityContainerSetup.Container.Resolve<ITaskRepository>();
// init task for checking task statuses
var tasksItem = new DownloadTaskItem();
taskRepository.GetTasksStatusAsync(siteId, tasksItem, ct);
// subscribe to event [ listener ]
tasksItem.Changed += new EventHandler<TaskEventArgs>(UpdateTasksStatus);
}
public void UpdateTasksStatus(object sender, TaskEventArgs e)
{
Clients.updateMessages(e.Tasks);
}
// when browsing away from page
public Task Disconnect()
{
try
{
tokenSource.Cancel();
}
catch (Exception)
{
//
}
return null;
}
}
धन्यवाद
आप अस्पताल का एक उदाहरण यह प्रयोग किया जाता है क्या है? क्या मैं इस सूची को एक सत्र में रखूंगा? – ShaneKm
किसी प्रकार के डेटा स्टोर (संभवतः केवल एक स्थिर वर्ग) में सर्वर पर गिनती रखना सबसे अच्छा होता है। मैं अपने जवाब में एक समाधान की रूपरेखा कर सकता हूं, मुझे एक मिनट दें ... –
+1 बस ऐप डोमेन पर याद रखें कि ऑब्जेक्ट रीसेट हो जाएगा; आपको किसी वस्तु पर उस वस्तु को कायम रखने पर विचार करना चाहिए; जब भी कोई जोड़ा या हटा दिया जाता है तो मैं आमतौर पर इसे करता हूं। – f0x