By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
448,495 Members | 1,298 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 448,495 IT Pros & Developers. It's quick & easy.

How to build a distributed web service

P: n/a
I've successfully built a web service which interacts with my company's document management system through it's supplied API. All works fine, except I now want to make the service more "distributed". Our document management architecture means that we have several document libraries spread across different sites. For performance reasons, I want to host an instance of the web service at each site, so that it can handle any requests to manage documents in the library it's closest too. I want to build into the web service a mechanism for passing the incoming request to a "sister", if it knows that the request was for manipulating a document in a library it's not close to. This logic must be in the web service itself, not any of the consuming applications.

The web service has been built with ASP.NET and WSE 2.0, so in web.config I have expressed all the libraries and which instance of the web service should manage those requests. I've also put in a setting so that the web service knows it's own name, if you see what I mean. I've set up web references to all of the instances of the web service.

The bit I'm stuck on is writing the code which at run-time will dynamically instantiate a proxy for the web service which needs to process the request (assuming the local web service is not the right one to handle requests for that library). Is Reflection needed here? Are there any short-cuts/smart approaches to this, as I'm not dealing with an unknown web service and it's associated methods and data types - the web service which initially receives the request merely wants to pass it on to an exact copy of itself.

Any help would be much appreciated. Thanks.
Mar 24 '06 #1
Share this question for a faster answer!
Share on Google+

This discussion thread is closed

Replies have been disabled for this discussion.