14.4. Setting the URL of a Web Service at Runtime

Problem

You need to set the URL of the web service at runtime.

Solution

In the code-behind class for your page, set the URL property of the proxy class to the required URL after instantiating the proxy object, as shown here:


	bookServices = New ExampleBookServices.CH14BookServicesVB
	bookServices.Url = _
		 "http://michaelk2/aspnetcookbook2vb/VBWebServices/CH14BookServicesVB.asmx"


	bookServices = new ExampleBookServices.CH14BookServicesCS();
	bookServices.Url = 
		"http://michaelk2/aspnetcookbook2cs/CSWebServices/CH14BookServicesCS.asmx";

Better still, by storing the URL in web.config and setting the URL property of the proxy class at runtime from the web.config setting, you can avoid changing the code whenever the URL changes.

Discussion

The ability to configure an application without having to recompile its code every time you make a change in the location of its resources can be a time-saver. Since the URL for a web service can change, code your application to set the URL at runtime.

Whenever you add a web reference to a project, Visual Studio 2005 adds an entry to the <appSettings> section of the web.config containing the URL of the web reference, as shown here for the two web references added for the recipes in this chapter:

	<appSettings>
		<add ...

Get ASP.NET 2.0 Cookbook, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.