Running this code as a regular user throws HttpListenerException (access denied). Snippet runs ok as an administator
class Program
{
static void Main(string[] args)
{
HttpListener listener = new HttpListener();
listener.Prefixes.Add("http://myip:8080/app/");
listener.Start();
//.... and so on
}
}
i went ahead and added the uri using netsh (netsh http show lists the uri)
netsh http add urlacl url=http://+:8080/app user=domain\user
still getting the same error. Adding ACLs did work for other projects (they didn't use HttpListener though). I tried multiple port/application name combinations, nothing works.
Any ideas what might be the cause?
Running .Net 3.5 SP1 on Vista
Best Answer
I do not understand why but here it is. It seems that the cause is that my network card is configured with 2 IPs.
if in the code i specify one of the ips (like i did in question above)
then to avoid exception i need to register it with IP-bound weak wildcard
however if i add prefix with the strong wildcard (plus sign)
and register with the same wild card
then there is no error and i can access my app from both ip.