Showing posts with label webreference. Show all posts
Showing posts with label webreference. Show all posts

Wednesday, March 28, 2012

Web Service (Dynamic URL)

Hi,

Is there a way to connect to a Web Service dynamically at runtime (Web
Reference URL)? I have always used Visual Studio to create a Web Reference
and then used it in my code. However, that always requires the URL to the
Web Service to be the same on the staging site and the production site. Now
I have two instances of the same application running (Staging site and
Production) and want to store the URL in a file instead. Is there a way to
do this?

ex. Web.Config AppSetting <add key="WebServiceURL"
Value=http://...webserv.asmx
Thank you
Maz.You can dynamically set the URI of a web service using web.config but you
need to edit the proxy class to do it. You can get to the proxy class
through the object browser (or you can open it directly by navigating through
the web references folder structure). Once in the proxy class, just look for
the URI and replace it with a read from your web.config.

One drawback to this is that if you need to regenerate your proxy class,
you'll need to update the URI again.

HTH
--
http://www.davefancher.com
Maziar Aflatoun wrote:
> Hi,
> Is there a way to connect to a Web Service dynamically at runtime (Web
> Reference URL)? I have always used Visual Studio to create a Web Reference
> and then used it in my code. However, that always requires the URL to the
> Web Service to be the same on the staging site and the production site. Now
> I have two instances of the same application running (Staging site and
> Production) and want to store the URL in a file instead. Is there a way to
> do this?
> ex. Web.Config AppSetting <add key="WebServiceURL"
> Value=http://...webserv.asmx>
> Thank you
> Maz.

I just have a web.config setting (in appSettings) like this:

<add key="MyApp.localhost.MyService"
value="http://10.10.10.1/VirDir/MyService.asmx"/
I have a Web Reference to my service on localhost that I use for testing
and development. If I want to point to somewhere else this entry
redirects to another location without having to modify anything else.

HTH!

Matt