Hi!
There are two situation in which an application may be unable to get to listen at a given endpoint:
1. Desired TCP port is used in exclusive mode by some other application. In this case no other application can do anything with this port.
2. Another HTTP.SYS application in port-sharing mode listens to the same endpoint. For example, a mere presence of IIS 6 or 7 will occupy http://*:80/ endpoint. You can listen to http://*:80/somUniqueVdir/, or on a free port.
The bottom line is that when you are installing your application on customers' machines do not assume that users can correctly say which port is free, and even if port looks free, given endpoint may be not free.
Because of all that we recommend the following:
- Use virtual directory with a name that is likely to be unique. On machines with no web server, or with IIS 6 and 7, you will be able to put it on port 80, although it won't work on boxes with IIS 5 because IIS 5 does not share ports.
- Register the application multiple endpoints.
- The most important one: always use http://*:0/ endpoint regardless whether you have other endpoint or not. UWS redirector, which is accessible at http://localhost:7756/GoToApplication.aspx/<APPGUID>/, will redirect to your application no matter what it's location.
Finally, if there is another UWS application using an endpoint, you cannot take the endpoint away from that application by registering your application on the same endpoint.
Please let us know if this information was helpful.
Best regards,
UltiDev Team.
Please donate at
http://www.ultidev.com/products/Donate.aspx to help us improve our products.