In some cases for your web-page client, which consume a web service, you need to specify the maximum amount of time it has to wait. The article How to create an ASP.NET web-page client for a web service in VB.NET does not cover this area. By default the timeout is 100,000 milliseconds (10 seconds).

C# in Depth, 3rd EditionBest VPN app

You can specify different timeout by using the Timeout property. You should combine the property with error handling mechanisms, because if the timeout period expires without a response, an exception should be thrown, giving you the option to notify the user about the problem.  The next code lines show how you can rewrite the ASP.NET web-page client to use a timeout of five seconds:

Private Sub cmdGetData_Click(sender As Object, e As System.EventArgs)

‘ Create the proxy.

Dim Proxy As New BooksService()

 

‘ This timeout will apply to all web service method calls.

Proxy.Timeout = 5000

‘ 5,000 milliseconds is 5 seconds.

Dim Ds As DataSet = Nothing

 

Try

‘ Call the web service and get the results.

Ds = Proxy.GetBooks()

Catch Err As System.Net.WebException

If Err.Status = WebExceptionStatus.Timeout Then

LblResult.Text = “Web service timed out after 5 seconds.”

Else

LblResult.Text = “Another type of problem occurred.”

End If

End Try

 

‘ Bind the results.

If Ds IsNot Nothing Then

GridView1.DataSource = Ds.Tables(0)

GridView1.DataBind()

End If

End Sub
You can also set the timeout to -1 to indicate that your client will wait as long as it takes. This will make your web application unacceptably slow if you attempt to perform a number of operations with an unresponsive web service.