Widziałem to od dawna i ostatecznie postanowiłem postawić pytanie tutaj. Mam kilka aplikacji, które muszę zachować, które zostały napisane w Delphi 2007 dla .NET (ASP.NET 2.0). Zwykle po pierwszym uruchomieniu aplikacji (przy użyciu IIS) otrzymuję klasyczne "Nie można rozpocząć debugowania na serwerze sieci Web. Nie można podłączyć się do procesu roboczego ASP.NET". Po prostu ponownie wciskam klawisz F9 (uruchom) i działa. Czasami muszę spróbować uruchomić kilka razy, zanim faktycznie będzie działać.Niepoprawnie "Nie można rozpocząć debugowania ... Nie można dołączyć do procesu roboczego ASP.NET" w Delphi 2007 dla .NET
Mam system Windows 7 64-bitowy (i widziałem taki sam efekt na Vista 64-bitowy). Mam IIS skonfigurowane dla ASP.NET i mam następujący kod w moim pliku Web.config.
<system.webServer>
<modules>
<add name="DbgConnect" type="Borland.DbkAsp.DbkConnModule,Borland.dbkasp,Version=10.5.0.0,
Culture=neutral, PublicKeyToken=b0524c541232aae7" preCondition="managedHandler" />
</modules>
<validation validateIntegratedModeConfiguration="false" />
</system.webServer>
Chodzi o to, że ostatecznie mogę uruchomić aplikację w debugerze, czasami nawet przy pierwszej próbie. Wiele razy, gdy dostaję błąd, zdarza się to około 15 sekund po naciśnięciu przycisku Uruchom, czasami nawet po tym, jak uderzyłem stronę lub dwie (lub trzy) aplikacji internetowej. I tak, kiedy Delphi wchodzi w ten tryb, mogę po prostu uruchomić bez debugowania i wszystko jest w porządku (chyba że naprawdę chcę debugować). Mogę dalej próbować uruchomić debuggera i ostatecznie to zadziała.
Wygląda na to, że debugger .NET Delphi w jakiś sposób wpada na pomysł, że aplikacja nie może działać, a następnie rezygnuje i zatrzymuje proces (który, jak już wspomniałem, czasami jest wyraźnie uruchomiony).
Znam innych programistów, którzy również widzieli to zachowanie. Moje pytanie brzmi, czy ktoś wie, jak zatrzymać to denerwujące zachowanie?
Jestem prawie pewien, że jest to coś, co dzieje się wewnętrznie z Delphi 2007 dla .NET. Wygląda na to, że debugger przekroczył w jakiś sposób czas. Doszedłem do tego wniosku, ponieważ czasami mogę kliknąć 2 lub 3 różne strony aplikacji ASP.NET, zanim pojawi się ten komunikat o błędzie. Oczywiście komunikat o błędzie jest błędny. I wydaje się, że błąd pochodzi z debuggera. W tym momencie myślę, że szansa, że Embarcadero naprawi tę funkcję w funkcji, która została uznana za przestarzałą (Delphi dla .NET) jest prawie zerowa. –