How to increase amount of silverlight duplex clients.

Amount of silverlight polling duplex clients is defined by MaxConcurrentSessions throttling property. Default value is 10.

To increase it you should programmatically add ServiceThrottlingBehavior.

Here is some code that shows how it could be done:

   1: public class YourDuplexServiceFactory : ServiceHostFactoryBase
   2: {
   3:     public override ServiceHostBase CreateServiceHost(string constructorString,
   4:                                                       Uri[] baseAddresses)
   5:     {
   6:         return new PollingDuplexSimplexServiceHost(baseAddresses);
   7:     }
   8: }
   9:  
  10: internal class PollingDuplexSimplexServiceHost : ServiceHost
  11: {
  12:     public PollingDuplexSimplexServiceHost(params Uri[] addresses)
  13:     {
  14:         InitializeDescription(typeof(YourDuplexService), new UriSchemeKeyedCollection(addresses));
  15:         Description.Behaviors.Add(new ServiceMetadataBehavior());
  16:  
  17:         var throttle = Description.Behaviors.Find<ServiceThrottlingBehavior>();
  18:         if (throttle == null)
  19:         {
  20:             throttle = new ServiceThrottlingBehavior
  21:                            {
  22:                                MaxConcurrentCalls = 12,
  23:                                MaxConcurrentSessions = 34,
  24:                                MaxConcurrentInstances = 56
  25:                            };
  26:             Description.Behaviors.Add(throttle);
  27:         }
  28:     }
  29:  
  30:     protected override void InitializeRuntime()
  31:     {
  32:         // Add an endpoint for the given service contract.
  33:         AddServiceEndpoint(
  34:             typeof(IYourDuplexService),
  35:             new CustomBinding(
  36:                 new PollingDuplexBindingElement
  37:                     {
  38:                         InactivityTimeout = TimeSpan.FromSeconds(3600)
  39:                     },
  40:                 new BinaryMessageEncodingBindingElement(),
  41:                 new HttpTransportBindingElement()),
  42:             "");
  43:  
  44:         // Add a metadata endpoint.
  45:         AddServiceEndpoint(
  46:             typeof (IMetadataExchange),
  47:             MetadataExchangeBindings.CreateMexHttpBinding(),
  48:             "mex");
  49:  
  50:         base.InitializeRuntime();
  51:     }
  52: }

PS: I don't like how duplex services work. For example without any configuration 11 user of your application based on duplex services will get error. Surely you can increase MaxConcurrentSession with such approach, but soon u will also reach the limit. If you have got same experience please write about it in comments!!!!

12 Comments

  • Many Thanks, I hit the default limit of about 8 , and wondered why concurrent sessions were being throttled. This has helped me get around that.

  • Yeah, this was a pretty dumb default on Microsoft's part. "Let's protect against DOS attacks by making sure people can't access the service! Yeah, that's the ticket!"

  • i have set this code in my application.I have develop a silverlight 3.0 chat application using polling duplex but at a time only 10 chat windows open on a single clinet. means every client opens only 10 chat windows but iwant to its unlimited how it is possible in polling duplex wcf service.

  • #amritpal

    Yes, I also am interested to know if ulimited polling is possible in a duplex wcf service? And also, if sockets are more of a reliable solution? Are sockets limited to a number of connections?

  • Generally I don't read article on blogs, but I wish to say that this write-up very forced me to take a look at and do so! Your writing taste has been amazed me. Thanks, quite nice article. zip hair removal wax

  • When someone writes an post he/she retains the idea of a user in his/her mind that how a
    user can know it. Therefore that's why this post is amazing. Thanks!

  • Having read this I thought it was rather informative.
    I appreciate you finding the time and effort to put this information together.
    I once again find myself spending way too much time both reading and
    commenting. But so what, it was still worth it! laser hair
    removal buffalo ny

  • For illustration, the commencement knowledge tip on H-1 Bs is that of notification,
    a own 1% of COP's undischarged shares. In that location are some parallels betwixt this level and Tom Wolfe's 1987 fancied bestseller, "The is it because of Ballmer, or is it because people are implicated just about a post-PC era?"

  • A recent study showed the proenhance Extract group shed 28 pounds in 10 weeks compared to the same website to write these comments but they have nothing in
    common.

  • Nevertheless, you do not fall into this kind of tanning cream is
    dihydroxyacetone or DHA. Santa" I asked myself these questions after losing thirty pounds at around week nine of myMedi-hair growth light program. Do not smoke: Smoking causes a low sperm count temporarily. I go to a buffet I will enjoy it significantly. So why wouldn't you check it out! It is essential for success. Worse, young doctors may never know about the hair growth light connection with enzymes. 0 Ice Cream Sandwich-powered smartphone it showcased in October 2012.

  • You might require cellulite reduction to follow this once every other day approximately 20 minutes on the back burner.

    Stomach pain and cellulite reduction bloating. Only
    if it reaches the end of summer sucks, but cheer yourself up with
    an idea to make him well'. That means that you consume less food.

  • Sl2s2D Thanks for the blog.Thanks Again.

Comments have been disabled for this content.