<< 1. When I first log in I see the screen in clip1.png. It seems there are missing icons on the site buttons at the top.
indeed - it's looking for the favicons of those two sites, and they don't exist (at least not in the example.)
>> Also, I find I cannot open the site1 home page or the site2 static pages. Site1 is on port 8003 and site2 is on port 8080. Both these ports are open on the firewall. See servers.png for a screen shot of the servers list.
the whole point of the Multi-Site host is that they allow your dll's to share a _ip and port_ address - using the hostname alone as the differentiator. If the sites were indeed on different ports, they would have no need of the host. So, in your case, _all_ the sites are on the same port as the host. (in this case :88).
>> I have your Developing Web Applications book, and the chapter dealing with the multi-site host details a full pathname variable set up in the dictionary. When looking at the dictionary for the example app, I don't see the use of a global variable. Instead, I see the use of webservers{prop:name} in the process link embed of the WebHandler. Are both these techniques valid or should I be using one or the other?
both approaches, and indeed any other approach for setting the name, are valid. I prefer setting the name explicitly in the ProcessLink method - which is, as I recall, what the example does. Note that p_web.site.apppath in this context contains the path to the _dll_ not the host exe, which can be useful.
cheers
Bruce