none
WCF : System.ServiceModel.Channels.SharedConnectionListener+SharedListenerProxy.BeginDuplicate (). Server side RRS feed

  • Question

  • Hey guys, I have WCF service hosted on IIS7 win server 2008, with TCPBinding in all production machines.
    As load increases, WCF Service is throwing an error after certain frequencies.

    Error is

    WCF : System.ServiceModel.Channels.SharedConnectionListener+SharedListenerProxy.BeginDuplicate (). Server side

    Parameters : socketInformation
    Value: All class members are not collected due to the detail level.

    parameterName : duplicateContext

    methodname: BeginDuplicate

    interfaces: System.ServiceModel.Activation.IConnectionDuplicator;System.ServiceModel.Dispatcher.IInputSessionShutdown

    classname: System.ServiceModel.Channels.SharedConnectionListener+SharedListenerProxy

    To execute this method, WCF service is taking almost 15-30 seconds. Frequency of occuring this event is very high that eventually making service slow.


    Here is the ServiceBehaior i used:

        [ServiceBehavior(InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode = ConcurrencyMode.Multiple)]
        [ErrorBehaviorAttribute(typeof(ServiceErrorHandler))]

     
    Anybody has anyidea???




    • Edited by VijayVijayVijay Tuesday, September 1, 2009 1:08 PM Minor change
    Monday, August 31, 2009 9:09 PM

Answers

  • Hi Vijay ,

    Enable and configure the Net.Tcp Port Sharing should be a workaround to this issue.

    To enable the Port Sharing in your service endpoint , you can configure your web.config like this:

    <system.serviceModel>
      <bindings>
        <netTcpBinding name="portSharingBinding" 
                       portSharingEnabled="true" />
      <services>
        <service name="MyService">
            <endpoint address="net.tcp://localhost/MyService"
                      binding="netTcpBinding"
                      contract="IMyService"
                      bindingConfiguration="portSharingBinding" />
        </service>
      </services>
    </system.serviceModel>

    Also please check the Net.TCP Port Sharing Service whether it has been enabled , Here is a link you can refer to for detail:

    http://msdn.microsoft.com/en-us/library/ms733925.aspx

    To configure the Net.TCP Port Sharing , you can refer to this for more detail :

    http://msdn.microsoft.com/en-us/library/aa702669.aspx

    Hope this will be helpful.

    Thanks , Quan
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Thursday, September 3, 2009 10:26 AM

All replies

  • Are you using port sharing ?


    http://blogs.msdn.com/sajay
    Thursday, September 3, 2009 4:04 AM
    Moderator
  • Hi Vijay ,

    Enable and configure the Net.Tcp Port Sharing should be a workaround to this issue.

    To enable the Port Sharing in your service endpoint , you can configure your web.config like this:

    <system.serviceModel>
      <bindings>
        <netTcpBinding name="portSharingBinding" 
                       portSharingEnabled="true" />
      <services>
        <service name="MyService">
            <endpoint address="net.tcp://localhost/MyService"
                      binding="netTcpBinding"
                      contract="IMyService"
                      bindingConfiguration="portSharingBinding" />
        </service>
      </services>
    </system.serviceModel>

    Also please check the Net.TCP Port Sharing Service whether it has been enabled , Here is a link you can refer to for detail:

    http://msdn.microsoft.com/en-us/library/ms733925.aspx

    To configure the Net.TCP Port Sharing , you can refer to this for more detail :

    http://msdn.microsoft.com/en-us/library/aa702669.aspx

    Hope this will be helpful.

    Thanks , Quan
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Thursday, September 3, 2009 10:26 AM