Se da un site web, aflat pe WServer 2003. Site-ul este o clona de Mantis facuta in ASP.NET 1.1 . Administratorul schimba IP-ul server-ului. Deodata anumite parti din site nu functioneaza – mai exact, cautarea de bug-uri e OK, dar crearea unora noi da mesaj de eroare “Eroare generica”. Nu avem log-uri de eroare (tare, nu ?) . In Web.Config avem conexiunea la SQL Server, precum si conexiunea la server-ul de SMTP.
Interceptam cu SQL Profiler chemarile la BD – creeaza bug-ul, iar cautarea il afiseaza. Totusi, atunci cind cream din interfata Web mesajul este Eroare generica.Exista si o pagina de eroare aspx, care afiseaza(surpriza , surpriza) “Eroare generica”.
Ok,
1. Ce faceti in continuare sa descoperiti problema?
2. Care este problema?
Peste 1 saptamina, solutia in comentarii…
Cautare in surse dupa ip-ul vechi. Incep cu fisierele de configurare
Nu aveti surse – ci doar Baza de date, fisierele aspx(e 1.1 ) si bin.
In fisierele de configurare, ca si in BD, nu exista referinte la ip-ul vechi, ci doar la setari de mesaje de email(smtp, textul mesajului, etc)
1. Decompilare surse cu reflector, recompilare modul care dadea eroare, pus try/catch – cu throw si cu logare
2. Dupa ce insera in BD, trimitea email ca operatia s-a desfasurat cu succes. Server-ul de email accepta ca trusted numai anumite IP-uri. In momentul in care s-a modificat IP-ul, acest nou IP nu mai era trusted -si deci dadea eroare
Morala 1:
Log-uri
Morala 2:
Pentru operatii ne-importante(gen trimis email dupa operatia importanta ) e de ajuns o notificare pe pagina principala ca nu s-a putut desfasura operatiunea. Puneti-le intr-un try /catch …