Olá pessoal, tudo bom?

Alguns dias atrás eu estava querendo testar uma aplicação asp.net MVC acessando-a do meu celular, ou seja, fora da máquina de desenvolvimento. É claro que já fazia esse tipo de teste antes, mas eu sempre criava um site no iis para tal. Funcionava, mas "estava usando um canhão para matar uma formiga".

Após uma rápida pesquisada, encontrei uma forma bem simples para liberar o iis express para acesso externo. Veja como:

  1.  Abra o arquivo de configurações de host's do iis express (%userprofile%\Documents\IISExpress\config\applicationhost.config). Procure a tag sites e encontre a tag com o nome da aplicação que você quer liberar o acesso. Copie a tag <binding>, cole-a abaixo da já existente e altere localhost pelo ip da sua máquina. A Figura 1 mostra como essa alteração ficou no meu pc. Salve o arquivo e feche-o.

Figura 1 - Adicionando novo binding.

2.  Por default, quase todas as conexões externas são bloqueadas. Nesse caso, vamos liberar o acesso para essa aplicação. Abra o prompt de comando como administrador e execute o seguinte comando:

netsh http add urlacl url=http://192.168.0.12:17300/ user=todos

Não esqueça de executar o comando informando seu ip e a porta que sua aplicação está usando.

3.  Crie uma regra de entrada no firewall para a porta em uso.

Pronto, nesse momento ao subir sua aplicação no iisexpress ela já estará disponível dentro da sua rede. Basta digitar o ip que você configurou como host + a porta (192.168.0.12:17300).

PS-1: Caso use algum anti-vírus, não esqueça de criar uma exceção para a porta nele também.

PS-2: Ao finalizar os testes, remova as exceções do firewall, anti-vírus e remova a reserva de url com o seguinte comando:

netsh http delete urlacl url=http://192.168.0.12:17300/

Até o próximo post.