Solved

I am getting timeout expired when running a sql stored procedure using WCF

Posted on 2014-12-10
4
237 Views
Last Modified: 2015-01-13
I am getting a message after starting a stored procedure which never came back. The message indicates "Timeout expired or server is not responding". Where can I increase the timeout (the stored procedure is expected to take more than 2 hours.

The web.config file Service model section is as follows:

      <system.serviceModel>
            <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>      
            <bindings>
                  <basicHttpBinding>
                        <binding name = "secureMsg"  maxReceivedMessageSize="4194304">
                        <!-- 4 MB -->
                        </binding>
                  </basicHttpBinding>
            </bindings>
      
            <services>
       <endpoint
                          address="IdeaUtilitiesFacade"
                          binding="basicHttpBinding"
                          bindingConfiguration="secureMsg"
                          contract="Reinsurance.Application.IdeaUtilities.Interface.IIdeaUtilitiesFacade"/>
     </service>
            <behaviors>
                  <serviceBehaviors>
                        <behavior name="Debug_Behaviour">
                              <serviceDebug
                                    httpHelpPageEnabled="false"
                                    includeExceptionDetailInFaults="true"
                              />
                              <serviceMetadata httpGetEnabled="false" />
                              <serviceAuthorization principalPermissionMode="UseWindowsGroups" />      
                        </behavior>
                  </serviceBehaviors>
            </behaviors>
      </system.serviceModel>
0
Comment
Question by:fmichail
  • 2
4 Comments
 
LVL 16

Assisted Solution

by:Kamal Khaleefa
Kamal Khaleefa earned 250 total points
ID: 40493382
system.serviceModel>
  <bindings>
    <netTcpBinding>
      <binding name="longTimeoutBinding"
        receiveTimeout="00:10:00" sendTimeout="00:10:00">
        <security mode="None"/>
      </binding>
    </netTcpBinding>
  </bindings>

  <services>
    <service name="longTimeoutService"
      behaviorConfiguration="longTimeoutBehavior">
      <endpoint address="net.tcp://localhost/longtimeout/"
        binding="netTcpBinding" bindingConfiguration="longTimeoutBinding" />
    </service>
0
 

Author Comment

by:fmichail
ID: 40494132
Dear King2002
I read that InactivityTimeout also has to be adjusted...
Where can I do that?, and is it really necessary? , If I want the timeout to be 5 hours should I set the receiveTimeout="05:00:00"?. and finally, can I apply all these to the basicHttpBinding, I do not want to create a new binding. Thanks for you help
0
 
LVL 3

Accepted Solution

by:
Nico earned 250 total points
ID: 40535951
You should set the sendTimeout on the client binding. This will set the timeout time for the call to the webservice (including waiting for the reply)

InactivityTimeout is for when you use ReliableSession, which is not applicable in your case of a basicHttpBinding.
0
 

Author Closing Comment

by:fmichail
ID: 40547168
Thank you derkesthai, and king2002
0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

For those of you who don't follow the news, or just happen to live under rocks, Microsoft Research released a beta SDK (http://www.microsoft.com/en-us/download/details.aspx?id=27876) for the Xbox 360 Kinect. If you don't know what a Kinect is (http:…
The Confluence of Individual Knowledge and the Collective Intelligence At this writing (summer 2013) the term API (http://dictionary.reference.com/browse/API?s=t) has made its way into the popular lexicon of the English language.  A few years ago, …
This Micro Tutorial will give you a basic overview how to record your screen with Microsoft Expression Encoder. This program is still free and open for the public to download. This will be demonstrated using Microsoft Expression Encoder 4.
Two types of users will appreciate AOMEI Backupper Pro: 1 - Those with PCIe drives (and haven't found cloning software that works on them). 2 - Those who want a fast clone of their boot drive (no re-boots needed) and it can clone your drive wh…

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question