Non riesco a vedere nulla nel tuo codice che lo eseguirebbe due volte. Presumo che venga chiamato due volte. Inserisci un punto di interruzione in addNewComment
e se viene chiamato due volte, guarda le tracce dello stack per vedere da dove viene chiamato in entrambe le occasioni.
Ad esempio, potresti avere un evento chiamato due volte. Questo può accadere in ASP.NET se entrambi avete abilitato il cablaggio automatico degli eventi e avete cablato l'evento in modo esplicito.
A proposito, dovresti assolutamente usare query parametrizzate non concatenazione di stringhe. Suppongo che il commento sia un input fornito dall'utente? Nel qual caso ti stai preparando per un attacco SQL injection con il codice che hai mostrato.