L'endpoint deve essere soggetto ad ACL perché altrimenti una app
potrebbe "rubartelo" senza averne diritto (sarebbe un attacco di Denial
Of Service).
Http.sys è in kernel mode ed è in grado di far ascoltare più processi
sulla stessa porta e stesso indirizzo (cosa che ovviamente in tcp/ip
non è possibile).
In pratica Http.sys funge da demultiplexer e ascolta su un certo
indirizzo/porta. Poi permette di riservare certi Url ai processi che ne
fanno richiesta. Così puoi avere che IIS ascolta su localhost/pippo e
una tua app ascolta su localhost/pluto, cosa che diversamente non
sarebbe possibile.
Usa netsh per assegnare le acl sull'endpoint desiderato:
http://msdn.microsoft.com/en-us/library/ms733768.aspx
O in alternativa puoi usare il mio tool httpnamespace:
http://iamraf.net/Tools/HttpNamespace-a-Win32-utility-to-reserve-an-HttpEndpoint
Il mio tool funziona su tutte le versioni di Windows mentre netsh è
disponibile solo da un versione in poi (che non ricordo).
Al mio link trovi anche le spiegazioni e il link a msdn che ti spiega
come funziona il formato URL che devi specificare.
Io uso http://+:8000/Demo o similare
Fatto questo non hai più bisogno di elevare i privilegi
--
Raffaele Rialdi
http://www.iamraf.net
Weblog:
http://blogs.ugidotnet.org/raffaele
Microsoft MVP profile
https://mvp.support.microsoft.com/profile/raffaele
UGIdotNET -
http://www.ugidotnet.org/