I've finally found a good excuse to implement something using Silverlight 2.0 within my web product. After spending about 3-4 hours attempting to get my Silverlight app to talk to a local web service, I found out something that hopefully will save you some time. First a little about my environment. I'm using IIS 7.0 on a 64 bit machine. I have IIS setup with two sites for my Silverlight development, the first hosts my web service, the second hosts the web site containing my Silverlight application. I have my hosts file setup as follows
Then in IIS I bind the the web sites to those host names.
After setting up the clientaccesspolicy.xml file in my webservice site to allow Silverlight to access I just couldn't get my Silverlight app to talk to my web service. I tried this in both IE and Firefox with no luck. After doing a little testing, I found it worked when I used the development web server (I think this was formally called cassini) it also seemed to work when when I used the host name "localhost". Next I fired up fiddler and watched the network traffic. Anytime I used cassini or local host, the clientaccesspolicy.xml was downloaded and the call to the web service succeeded. If I tried this through my site, no request was made.
After trying a number of things I found I was able to get this working by opening the security settings within Internet Explorer
Tools->Internet Options->Security Tab, then click on Local Intranet and add my two sites. This seemed to do the trick for both Internet Explorer and Firefox.
Hope this saves you a bit of time