2016-10-15 3 views
0

Это то, о чем я не уверен, если кто-то может помочь.SignalR Hub Multiple Client Access

Скажем, у меня есть класс SignalR Hub, и у него есть словарь как член. Один из методов хаба получает строку в качестве параметра, использует ее как ключ и обновляет часть соответствующего значения в словаре. Это может включать добавление/удаление словаря. В моем сценарии может быть 100 «одновременных» вызовов этого метода хаба.

Мой вопрос есть. Должен ли я блокировать словарь во время обновления? ИЛИ если SingalR запускает только одну копию метода за раз?

ответ

0

Я не знаю, прямой ответ на ваш вопрос, но вы можете использовать параллельный словарь, чтобы быть безопасным

https://msdn.microsoft.com/en-us/library/dd287191(v=vs.110).aspx

+0

Я попробовал ConcurrentDictionary. Иногда это методы не так удобны в использовании, как блокировка стандартного словаря, и я предполагаю, что он имеет аналогичные накладные расходы. –