I am a developer working on a Windows client built in .NET 1.1, and am currently troubleshooting a problem with how a web service proxy within the client is resolving the service's internet address and connecting to the service.
The proxy is generated via WSDL, and then modified to get the URL at run time from the app.config. This address does not change over the lifetime of the application. What can change, however, is the actual IP address to which the address resolves. This does not happen often, but can happen in the event of a disaster, in which case a backup data center configured with a different IP address, will take over. Our DNS service (TZO.com) allows us to flip over the IP address in a short time (as low as 30 seconds).
The problem we are troubleshooting is that if we change the IP address while the client application is up and running, it does not appear to realize that the active IP address has changed and continues to create TCP connections to the old IP address when attempting to connect to the web service.
I am looking for some insight into how a DNS lookup is cached by the .NET framework and if it truly observes the indicated TTL on the DNS entry. It would be nice to have a method by which I could flush the DNS cache manually if necessary, but I have not been able to find any documentation on this. Lacking that, are there any recommendations on how to force new connections to go to a new IP address?
Thanks in advance.