tags:

views:

630

answers:

3

I have a web reference for our report server embedded in our application. The server that the reports live on could change though, and I'd like to be able to change it "on the fly" if necessary.

I know I've done this before, but can't seem to remember how. Thanks for your help.

update - I've manually driven around this for the time being. It's not a big deal to set the URL in the code, but I'd like to figure out what the "proper" way of doing this in VS 2008 is. Could anyone provide any further insights? Thanks!

+3  A: 

In the properties window change the "behavior" to Dynamic.

See: http://www.codeproject.com/KB/XML/wsdldynamicurl.aspx

brendan
A: 

If you mean a VS2005 "Web Reference", then the generated proxy classes have a URL property that is the SOAP endpoint url of that service. You can change this property and have your subsequent http communications be made to that new endpoint.

Edit: Ah, thanks bcaff86. I didn't know you could do that simply by changing a property.

Chris Farmer
A: 

In VS2008 when I change the URL Behavior property to Dynamic I get the following code auto-generated in the Reference class.

Can I override this setting (MySettings) in the web.config? I guess I don't know how the settings stuff works.

Thanks.

    Public Sub New()
MyBase.New
Me.Url = Global.My.MySettings.Default.Namespace_Reference_ServiceName
If (Me.IsLocalFileSystemWebService(Me.Url) = true) Then
Me.UseDefaultCredentials = true
Me.useDefaultCredentialsSetExplicitly = false
Else
Me.useDefaultCredentialsSetExplicitly = true
End If
End Sub

EDIT

So this stuff has changed a bit since VS03 (which was probably the last VS version I used to do this).

According to: http://msdn.microsoft.com/en-us/library/a65txexh.aspx it looks like I have a settings object on which I can set the property programatically, but that I would need to provide the logic to retrieve that URL from the web.config.

Is this the new standard way of doing this in VS2008, or am I missing something?

EDIT #2

Anyone have any ideas here? I drove around it in my application and just put the URL in my web.config myself and read it out. But I'm not happy with that because it still feels like I'm missing something.

Ian Robinson