I would recommend implementing authentication/authorization, for example
using WS-Security (with WSE 2.0). If need be, you can hardwire the "secret"
credentials into the specific client so that this is the only client whose
Web service requests will be accepted.
I'm sure you can come up with various creative ways to implement this (for
example, by examining the origin of the incoming request in the
Application_BeginRequest event handler) but any of these creative methods
will be potentially inaccurate and worse, unsecure. So I recommend
implementing WS-Security. It's easy to do with WSE 2.0, and it gives you the
flexibility to expand the audience for your Web service in the future simply
by issuing them the appropriate credentials.
Jeffrey Hasan, MCSD
President, Bluestone Partners, Inc.