2016-07-26 18 views
0

Die meisten Tutorials für C# asp.net Websocket Implementierung schlagen vor, mit einem Nebenläufigkeit Tasche zum Speichern der Sockets. Ich habe jedoch bemerkt, dass die Tasche alle verlassenen und verschlossenen Steckdosen hält. Wird das nicht einfach wachsen und wachsen, bis es zu viele Ressourcen verbraucht?Ist eine C# Nebenläufigkeit Tasche sicher für websockets unter Berücksichtigung es unterhält geschlossene Sockets

Hier ist ein Tutorial unter anderen, die vorschlagen, den Socket in einem Parallelitätsbeutel zu speichern. https://medium.com/@turowicz/websockets-in-asp-net-5-6094319a15a2#.vdoh0cute

Weiß jemand, ob meine Sorgen in einer ständig wachsenden Tasche von geschlossenen Sockeln gerechtfertigt sind? Gibt es andere Ansätze, die Sie vorschlagen oder verlinken können?

Antwort

0

Der Ansatz der Verwendung einer parallelen Struktur besteht darin, dass ASP.NET bei der Kommunikation Threads verwendet. Es ist eine Thread-sichere Struktur.

Wenn Sie eine Verbindung herstellen, wird die Anforderung in einem Thread behandelt und dann durchläuft sie die Middleware mit Ihrer aktuellen Anforderung.

Die gleichzeitige Struktur ist hier nicht das Problem. Sie könnten eine Sperre mit einem Wörterbuch verwenden.

Ich würde die Struktur zu einer periodischen Zeit (mit einem Timer) durchsehen und die Sockets entsorgen, die nicht mehr gültig sind