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# 8.0 and .NET Core 3.0 – Modern Cross-Platform Development: Build applications with C#, .NET Core, Entity Framework Core, ASP.NET Core, and ML.NET using Visual Studio Code, 4th Edition
ASP.NET Core 3 and Angular 9: Full stack web development with .NET Core 3.1 and Angular 9, 3rd Edition
C# in Depth, 4th Edition

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



‘ 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.”


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

End If

End Try


‘ Bind the results.

If Ds IsNot Nothing Then

GridView1.DataSource = Ds.Tables(0)


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.