tags:

views:

60

answers:

0

Hi All,

My server and client side configured the value of inactivityTimeout = "00:01:00" and after the client goes inactive for more than 1 minute (exceeded the timeout value) I must to wait another 9 minutes (10 min in total) to get session timeout fault. Although, i set the receiveTimeout="00:01:00" on both sides.

Below my app configs:

Server,

      <reliableSession  enabled="true" 
                        inactivityTimeout="00:01:00" 
                        ordered="false"/>

      <security         mode="Message">
        <message        clientCredentialType="Windows"
                        negotiateServiceCredential="true"
                        algorithmSuite="Default"
                        establishSecurityContext="true"/>

        <transport      clientCredentialType="Windows"
                        proxyCredentialType="None"
                        realm="" />
      </security>
    </binding>
  </wsHttpBinding>
</bindings>
<services>
  <service name="SessionServer.SessionService" behaviorConfiguration="SessionServer.SessionServiceBehavior">
    <host>
      <baseAddresses>
        <add baseAddress = "http://localhost:4040/SessionServer/SessionService/" />
      </baseAddresses>
    </host>
    <!-- Service Endpoints -->
    <!-- Unless fully qualified, address is relative to base address supplied above -->
    <endpoint address ="" binding="wsHttpBinding" contract="SessionServer.ISessionService">
      <!-- 
          Upon deployment, the following identity element should be removed or replaced to reflect the 
          identity under which the deployed service runs.  If removed, WCF will infer an appropriate identity 
          automatically.
      -->
      <identity>
        <dns value="localhost"/>
      </identity>
    </endpoint>
    <!-- Metadata Endpoints -->
    <!-- The Metadata Exchange endpoint is used by the service to describe itself to clients. -->
    <!-- This endpoint does not use a secure binding and should be secured or removed before deployment -->
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
  </service>
</services>
<behaviors>
  <serviceBehaviors>
    <behavior name="SessionServer.SessionServiceBehavior">

      <!-- To avoid disclosing metadata information, 
      set the value below to false and remove the metadata endpoint above before deployment -->
      <serviceMetadata httpGetEnabled="True"/>
      <!-- To receive exception details in faults for debugging purposes, 
      set the value below to true.  Set to false before deployment 
      to avoid disclosing exception information -->
      <serviceDebug includeExceptionDetailInFaults="True" />
    </behavior>
  </serviceBehaviors>
</behaviors>

Client,

   <system.serviceModel>
     <bindings>
       <wsHttpBinding>
        <binding name="WSHttpBinding_ISessionService" 
                      closeTimeout="00:01:00"
                      openTimeout="00:01:00" receiveTimeout="00:01:00" 
                     sendTimeout="00:01:00"
                    bypassProxyOnLocal="false" 
                    transactionFlow="false"   
                     hostNameComparisonMode="StrongWildcard"
      maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text"
      textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
      <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
      <reliableSession ordered="true" inactivityTimeout="00:01:00"
        enabled="true" />
      <security mode="Message">
        <transport clientCredentialType="Windows" proxyCredentialType="None"
          realm="" />
        <message clientCredentialType="Windows" negotiateServiceCredential="true"
          algorithmSuite="Default" establishSecurityContext="true" />
      </security>
    </binding>
  </wsHttpBinding>
</bindings>
<client>
  <endpoint address="http://localhost:4040/SessionServer/SessionService/"
    binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_ISessionService"
    contract="SessionServiceProxy.ISessionService"  name="WSHttpBinding_ISessionService">
    <identity>
      <dns value="localhost" />
    </identity>
  </endpoint>
</client>
   </system.serviceModel>

BTW, both values are set to 10 minutes in "configuration.svcinfo" and "configuration91.svcinfo" files.

Why i must wait 10 minutes while i configured those values to just 1 minute?

Any help will be appreciated

Thanks,

Sabri,

related questions