Pracuję na maszynie XP (SP3) z VS 2010 i IIS 5.Co to jest debugattach.aspx i dlaczego serwer nie może go znaleźć?
Mam dwie wersje tej samej witryny. Opublikowaliśmy naszą pierwszą wersję produkcyjną, więc rozwinąłem kod do nowego drzewa katalogów i skonfigurowałem nowe katalogi wirtualne w IIS, aby wskazywały nowe drzewa. Projekty są skonfigurowane do działania w IIS, a nie w serwerze VS. Strona główna to projekt oparty na MVC 2.
Mój problem polega na tym, że po naciśnięciu klawisza F5 w programie Visual Studio 2010, aby rozpocząć debugowanie nowej wersji, pojawia się komunikat "Nie można rozpocząć debugowania na serwerze sieci Web. Serwer WWW nie może znaleźć żądanego zasobu". Spędziłem większą część wczoraj, próbując dowiedzieć się, jakiego zasobu szukał, czego nie mógł znaleźć. Dzieje się tak, zanim dojdzie do "rozpoczęcia aplikacji". W końcu pomyślałem o przejrzeniu logów sieciowych i stwierdziłem, że za każdym razem, gdy wciskam klawisz F5, dziennik internetowy pokazuje żądanie DEBUG dla/debugattach.aspx, z kodem powrotu 404 (nie znaleziono). Jeśli uruchomię tę samą sekwencję w starej wersji, pokazuje to samo, ale najpierw z kodem 401, a następnie żądanie powtórzone z kodem 200.
Moja pierwsza myśl była taka, że VS musi wypisać plik "debugattach.aspx", a następnie wywołać go, a może nie ma prawa zapisu do katalogu, ale, o ile mogę to stwierdzić, robi.
Mam goedugled debugattach.aspx, a pierwsze kilka stron artykułów, które są zwracane, wydaje się odnosić do blokady i limitów czasu, głównie na IIS 7 i VS 2005. Nic, co wydaje się mieć zastosowanie do tej sytuacji.
Patrząc na to, co różni się od starej wersji, która działa, a do nowej wersji, która nie działa, jedyną rzeczą jest konfiguracja katalogów wirtualnych usług IIS i plik web.config na samym kodzie. Ale przeszedłem dwie strony obok siebie i nie mogę znaleźć żadnych różnic, które uwzględniałyby to zachowanie.
Czy ktoś ma wskazówkę, którą może mi udostępnić? Czy ktoś może wskazać mi jakąkolwiek dokumentację na temat tego, czym dokładnie debugattach.aspx jest/robi i co robi żądanie HTTP DEBUG i/lub jak VS je wykorzystuje?
Z góry dziękuję.
Proszę zignorować. Znalazłem rozwiązanie. Nie rozumiem tego, ale udało mi się. Powróciłem jeszcze raz i porównałem właściwości IIS dwóch stron obok siebie i odkryłem różnicę. W mapowaniu rozszerzeń aplikacji, w których dodałem plik aspnet_isapi.dll jako mapowanie z dziką kartą, aby adresy URL bez rozszerzenia były uruchamiane za pomocą mapowania MVC, pole wyboru "Silnik skryptowy" było zaznaczone w witrynie, która nie działała i nie była zaznaczona na stronie, która była. Usunąłem to i spróbowałem ponownie, i zaczęło się debugowanie. –
chociaż jest to stary post, nadal możesz wziąć kredyt za opublikowanie swojej odpowiedzi =) – killthrush