none
Resources on a WCF Service Resources on Holding Approximately 2,000 Callback Channels in Dictionary RRS feed

  • Question

  • Hello All

    I have a WCF service where approximately 2,000 Clients will connect concurrently.  The service itself is keeping a dictionary of callback channel objects.  When a client connects to the WCF Service, the callback channel is kept in my addressbook/dictionary.  I am expecting approximately 2,000 clients to connect and have those callback channels stored in this way.   While the clients are connected, I have an ASP.NET web application that can push notifications to each of these Winform Clients.

    My question is the resources on my web server and if there will be an issue with this. 

    Can anyone shed some light on what these WCF callback channels actually are?  Do the callback channels hold a physical resource connection back to each client?  Or are the callback channel objects I'm storing just holding an address of the callback location?

    I'm not too worried about storing the objects in a dictionary.  What I'm worried about is that my application will be holding some sort of physical connection to each client, which may be taking up too much resources on the server.

    I have a rudimentary visual example below.  If anyone can provide advice or insight in to this or provide a suggestion, I would greatly appreciate it.  Thank you.

     WEB Server with WCF (Addressbook/dictionary)  <-- Web App pushes notifications

                       |                                       |                                                       

                        |                                      |

    Client A (Winforms)                    Client B (Winforms)




    Kelly


    • Edited by hshot_rooke Wednesday, March 2, 2016 10:16 PM
    Wednesday, March 2, 2016 10:14 PM

All replies

  • My question is the resources on my web server and if there will be an issue with this

    Yeah there is going to be problems if the Web server does not licensing for  the O/S is not purchased for over 2,000 concurrent connections.  

    What I'm worried about is that my application will be holding some sort of physical connection to each client, which may be taking up too much resources on the server.

    You should be as the purpose of any SOA solution is to share resources, and the client connections are short-lived in scope - get in and get out and have resources available for the next client.

     

    Wednesday, March 2, 2016 10:59 PM
  • DA924x, thanks for the reply.

    I understand what you're saying.

    The reason why I'm saving the callback channel object is so that I know which client to send the notification to.  Can you suggest another alternative in order to push notifications to specific users/machines then?

    Or is there a way to initiate a channel from the service back to the client?


    Kelly

    Thursday, March 3, 2016 1:17 PM