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.