Uma das coisas que já tinha sentido falta quando implementei interoperabilidade com outros sistemas (ex: Paypal), foi a necessidade de fazer debug do site live. Isto acontece por um motivo, os callbacks desses sistemas externos não sabem o que é o nosso localhost, eles sabem sim o que são URLs (ex: www.xpto.pt), logo os callbacks não podem ser feitos para localhost como é óbvio.
Ontem queria fazer debug às comunicações com o Facebook para saber o que realmente me estava a chegar à mão, então decidi perder tempo a descobrir como fazia o debug do callback. Apesar de ter demorado uma tarde entre configurações de router, configurações de IIS, configurações de debugging e mais uma data de tentativas falhadas, quando cheguei à solução ela até é bastante simples.
- Colocar o porto 80 do IIS não a apontar para a directoria do nosso site live, tipicamente C:\inetpub\wwwroot, mas sim para a nossa directoria de desenvolvimento.
- Ir às propriedades do nosso projecto web e meter que o nosso servidor vai ser o IIS
Pode ainda ser necessário arrancar o Visual Studio como administrador devido a alguma restrição de permissões, isto depende das configurações de cada máquina. Finalmente é só arrancar o debugger do Visual Studio e meter os breakpoints que se quiserem, todos os pedidos ao site passam então a ser capturados.