2008-10-14 11 views
7

Próbuję uruchomić aplikację ASP.NET 2.0 na komputerze XP. O ile mi wiadomo, wszystko jest poprawnie skonfigurowane. Uważam jednak, pojawia się następujący komunikat:Dlaczego błąd ASP.NET wynika z uprawnień do GAC?

Server Application Unavailable

A dwa zdarzenia pojawiają się w dzienniku zdarzeń aplikacji za każdym razem:

aspnet_wp.exe (PID: 3352) stopped unexpectedly.

Failed to execute the request because the ASP.NET process identity does not have read permissions to the global assembly cache. Error: 0x80070005 Access is denied.

Wcześniej aplikacje ASP.NET działało dobrze na tym komputerze.

Próbowałem następujące kroki, bez powodzenia:

  • mam przyznane uprawnienia odczytu w katalogu domowym witryny ASPNET o koncie
  • mam ponownie zainstalować ASP.NET 2.0 z wykorzystaniem aspnet_regiis -i
  • mam przyznane uprawnienia do korzystania z konta ASPNET aspnet_regiis -ga < moim imieniu maszynowego > \ ASPNET
  • mam przyznane uprawnienia odczytu do GAC do konta ASPNET za pomocą cacls% windir% \ assembly/e/t/p < nazywam maszyna > \ ASPNET: R
  • mam ustawić wersji programu ASP.NET dla witryny do 2,0 w ​​ciągu IIS

Nie jestem pewien, co jeszcze mogę zrobić!


Korzystanie z Monitora procesu doprowadziło mnie bezpośrednio do problemu. Wielkie dzięki dla Mun za wskazówkę.

Był to dość niejasny problem: wcześniej korzystałem z przeglądarki dziennika powiązania dziennika składania (fuslogvw.exe) i ustawiłem ją, aby rejestrować wszystkie powiązania na dysku, korzystając z niestandardowej opcji ścieżki. Jednak konto ASPNET nie ma uprawnień do tej niestandardowej ścieżki. Dlatego powrót do używania domyślnej ścieżki rozwiązał problem. Przypisywanie uprawnień do odczytu/zapisu dla tej niestandardowej ścieżki do konta ASPNET działa tak samo, jak wyłączanie rejestrowania wiązań.

Odpowiedz

2

Można również znaleźć przydatne dla Process Monitor rozwiązywanie problemów tego typu. Jeśli skonfigurujesz filtr, aby pokazać całą aktywność zawierającą plik aspnet_wp.exe, powinien on pokazać ci pliki, do których próbuje uzyskać dostęp, umożliwiając odpowiednią aktualizację uprawnień.

0

Zwykle mieliśmy ten problem z ASP.NET, ponieważ kiedy Visual Studio stworzył swoją tymczasową kopię złożeń, usługa indeksowania zaczęłaby je skanować w poszukiwaniu wirusów, co czasami powodowałoby komunikat "odmowa dostępu", ponieważ debugger próbować otworzyć udostępniony plik. Powiedzenie usługi indeksowania, aby nie indeksować katalogu zespołów montażowych rozwiązało problem.

1

Wiem, że jest za późno na odpowiedź. Miałem też ten sam problem dzisiaj.Pobiegłem poniżej w wierszu polecenia, a ona stała się kwestią

aspnet_regiis -ga machinename\ASPNET 
0

To rozwiązało problem dla mnie, pomyślałam, że podzielę:

Jeśli jest to dla IIS 5.1 (w zasadzie, archaicznych wersjach IIS) kliknij prawym przyciskiem myszy na katalogu wirtualnym (z inetmgr) i przejdź do "Wszystkie zadania"> "Kreator uprawnień" Wybierz opcję "Wybierz nowe ustawienia zabezpieczeń z szablonu", a następnie wybierz Public Website.