Como fazer para acessar o Servidor de Desenvolvimento do ASP.NET por uma rede local


Como qualquer desenvolvedor ASP.NET, independente do software que estamos desenvolvendo e tecnologias envolvidas, de vez em quando pensamos "como seria bom se eu pudesse permitir que fulano testasse no código que estou mexendo".

Bem, para isso funcionar é preciso compartilhar a aplicação web com alguém, até aí nada demais, podemos configurar a mesma para utilizar o IIS ou mesmo o IIS Express, o que não é a forma comum e tem algumas implicações, por isso na grande maioria dos casos por padrão utilizamos o servidor web nativo iniciado pelo Visual Studio.


Uma outra vantagem de podermos compartilhar a aplicação web do código em desenvolvimento com alguém é para fins de depuração (debug), podendo fazer acertos pontuais em tempo real para o tester avaliar na hora.

Como fazer?

O segredo está em um conceito bastante antigo chamado Port Fowarding, ou seja, redirecionamento de porta.
Resumindo, como o Servidor de Desenvolvimento ASP.NET não pode dar as caras "por ele só", mesmo que abramos a porta dele no Firewall, então para conseguir acessa-lo criamos um tipo de túnel, por exemplo, se sua aplicação está rodando localmente pela porta 8888 (meu caso - ver acima), eu posso "servi-la" na porta 80 simulando como se fosse um servidor web operando na porta padrão, mas poderia ser outra.

Qual ferramenta utilizar?

Em várias pesquisas encontrei diversos artigos citando soluções em Java, nesses casos além de precisar da JRE instalada (99,9% das pessoas tem em seus computadores) e verificar a versão da mesma, também é preciso um pacote compilado (.jar) obsoleto que existe rodando na Internet, apesar de ter visto outros, entrar no Prompt de Comando e executar um comando "java.exe blabla.jar...", após isso é possível acessar de fora do computador.

Então achei a solução ideal, um programinha chamado SPI Port Forward, muito simples de usar, abaixo um screenshot da configuração do meu.


  • Local port é a porta que será exposta e precisa estar liberada no Firewall.
  • Remote port é a porta que o Servidor de Desenvolvimento ASP.NET está servindo.
  • Aperta Activate para passar a servir na porta escolhida.
Lembrar também que para funcionar não pode haver outra aplicação usando a mesma porta que estiver sendo compartilhada, por exemplo, se usar a porta 80 o IIS ou outro não pode estar usando a mesma porta para algum site, que por padrão estará, nesse caso basta então parar o serviço ou trocar a porta.

O programa pode ser baixado deste link http://staticvoidmain.cognitioab.se/wp-content/uploads/2013/01/PortForward.exe.



Referências:
  • http://staticvoidmain.cognitioab.se/index.php/2013/01/remote-debugging-asp-net-development-server-with-spi-port-forward/
  • http://web.archive.org/web/20100925095856/http://www.pluralsight-training.net/community/blogs/jimw/archive/2010/08/18/iphone-accessing-the-visual-studio-asp-net-development-server-windows-7-update.aspx

Comentários

Postagens mais visitadas deste blog

Selenium + Firefox = The type initializer for 'System.IO.Compression.ZipStorer' threw an exception

Transmissor sem fio bluetooth Tomate MTB-803 e manual

(resolvido) Visual Studio 2017 não consegue executar comandos em repositórios git do BitBucket