Web API self host-enlace en todas las interfaces de red


¿Cómo hacer un enlace auto host de API web en todas las interfaces de red?

Tengo el siguiente código actualmente. Desafortunadamente, se une solo en localhost. Por lo tanto, el acceso a este servidor desde otro servidor que no sea localhost está fallando.

var baseAddress = string.Format("http://localhost:9000/"); 
            using (WebApp.Start<Startup> (baseAddress)) 
            {
                Console.WriteLine("Server started");
                Thread.Sleep(1000000);
            }
Author: Phill, 2014-10-28

2 answers

Simplemente cambia la dirección base así

        var baseAddress = string.Format("http://*:9000/"); 
        using (WebApp.Start<Startup> (baseAddress)) 
        {
            Console.WriteLine("Server started");
            Thread.Sleep(1000000);
        }

Y debería enlazar correctamente a todas las interfaces.

 33
Author: evilpilaf,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-27 22:43:52

Enlázalo usando: -

var baseAddress = string.Format("http://localhost:+:9000/"); 

Si obtiene excepciones de acceso, NO inicie Visual Studio como usuario administrador. Agrega una reserva de URL en su lugar. Inicie una ventana de consola de comandos como administrador y ejecute:

netsh
netsh> http add urlacl url="http://+:9000/" sddl=D:(A;;GX;;;S-1-1-0)

La SDDL se traduce como "todos los usuarios" de su dominio / máquina actual.

 5
Author: Daniel Müller,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-26 04:39:49