Ενδέχεται να εμφανιστούν μηνύματα λάθους, όταν εκτελείτε αναζήτηση ή εντοπισμό σφαλμάτων σε μια εφαρμογή του ASP.NET μετά την εγκατάσταση της ενημερωμένης έκδοσης ασφαλείας 887219 (MS05-004)

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 894670 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

Περίληψη

Μετά την εγκατάσταση της ενημερωμένης έκδοσης ασφαλείας MS05-004 και κατά την περιήγηση ή την προσπάθεια εντοπισμού σφαλμάτων σε ορισμένες εφαρμογές ASP.NET, ενδέχεται να αντιμετωπίσετε ορισμένα σφάλματα. Αυτό το άρθρο περιγράφει τα διαφορετικά μηνύματα σφάλματος που μπορεί να λάβετε. Επίσης παρέχει τις λύσεις για αυτά τα προβλήματα.

Συμπτώματα

Μετά την εγκατάσταση της ενημερωμένης έκδοσης ασφαλείας MS05-004 και κατά την περιήγηση ή την προσπάθεια εντοπισμού σφαλμάτων σε μια εφαρμογή Microsoft ASP.NET, όπου η διεύθυνση URL περιέχει μια τελική ανάστροφη κάθετο (\), ενδέχεται να λάβετε ένα από τα παρακάτω μηνύματα σφάλματος:
Δεν είναι δυνατή η εύρεση του πόρου.
Περιγραφή: HTTP 404. Ο πόρος που αναζητάτε (ή μία από τις εξαρτήσεις του) μπορεί να έχει καταργηθεί, να έχει αλλάξει το όνομά του ή να μην είναι διαθέσιμος προσωρινά. Διαβάστε την παρακάτω διεύθυνση URL και βεβαιωθείτε ότι την έχετε γράψει σωστά.

Error while trying to run project: Unable to start debugging on the web server. (Παρουσιάστηκε σφάλμα κατά την προσπάθεια εκτέλεσης του έργου: Δεν είναι δυνατή η έναρξη εντοπισμού σφαλμάτων στο διακομιστή Web.) Δεν ήταν δυνατή η έναρξη του εντοπισμού σφαλμάτων ASP.NET ή ATL Server. Βεβαιωθείτε ότι ο διακομιστής ASP.NET ή ATL είναι εγκατεστημένος αυτήν τη στιγμή στο διακομιστή.

Αιτία

Αυτό το πρόβλημα θα εμφανιστεί, εάν η διεύθυνση URL που καθορίζεται στη μετα-βάση Microsoft Internet Information Services (IIS) περιέχει μια τελική ανάστροφη κάθετο.

Προτεινόμενη αντιμετώπιση

Για να επιλύσετε αυτό το πρόβλημα, καταργήστε την τελική ανάστροφη κάθετο στη μετα-βάση IIS για τη διεύθυνση URL που καθορίζεται για την εφαρμογή Web που επηρεάζεται. Για να γίνει αυτό, μπορείτε να χρησιμοποιήσετε μία από τις ακόλουθες μεθόδους.

Μέθοδος 1: Χρήση της Διαχείρισης IIS (IIS Manager)

  1. Κάντε κλικ στο μενού Έναρξη (Start), κατόπιν στην επιλογή Εκτέλεση (Run), πληκτρολογήστε cmd και, τέλος, κάντε κλικ στο κουμπί OK.
  2. Εντοπίστε τον κατάλογο %systemroot%\system32\inetsrv.
  3. Στη γραμμή εντολών, πληκτρολογήστε inetmgr για να ανοίξετε τη Διαχείριση IIS (IIS Manager).
  4. Κάντε δεξιό κλικ στην τοποθεσία Web για τη διεύθυνση URL που θέλετε να αλλάξετε και, στη συνέχεια, κάντε κλικ στην επιλογή Ιδιότητες (Properties).
  5. Εάν η εφαρμογή που επηρεάζεται είναι ένας εικονικός κατάλογος που βρίσκεται στην τοποθεσία Web, κάντε κλικ στην καρτέλα Κατάλογος (Directory) και, στη συνέχεια, καταργήστε την τελική ανάστροφη κάθετο από τη διαδρομή που καθορίζεται στο πλαίσιο κειμένου Τοπική διαδρομή (Local path).

    Εάν η εφαρμογή που επηρεάζεται βρίσκεται στον ριζικό κατάλογο στην τοποθεσία Web, κάντε κλικ στην καρτέλα Κεντρικός κατάλογος (Home Directory) και, στη συνέχεια, καταργήστε την τελική ανάστροφη κάθετο από τη διαδρομή που καθορίζεται στο πλαίσιο κειμένου Τοπική διαδρομή (Local path).
  6. Κάντε κλικ στο κουμπί Εφαρμογή (Apply) και κατόπιν κάντε κλικ στο κουμπί OK.

Μέθοδος 2: Χρήση δέσμης ενεργειών .vbs

  1. Χρησιμοποιήστε το παρακάτω παράδειγμα κώδικα για να δημιουργήσετε μια δέσμη ενεργειών .vbs:
    
    Option Explicit
    
    Dim objWebService, objWebSite
    Dim objSite, objArgs, strServer
    Dim WshNetwork
    
    Set objArgs = WScript.Arguments
    
    If objArgs.Length = 1 Then
    	strServer = objArgs(0)
    ElseIf  objArgs.Length = 0 Then
    	Set WshNetwork = CreateObject("WScript.Network")
    	strServer = WshNetwork.ComputerName
    Else
    	WScript.Echo "Usage: CScript ModifyVDir.vbs [servername]"
    	WScript.Quit
    End If
    WScript.Echo "Connecting to " & strServer
    
    Set objWebService = GetObject("IIS://" & strServer & "/W3SVC")
    
    For Each objWebSite in objWebService
    	Set objSite = GetObject(objWebSite.AdsPath)
    	If objSite.Class = "IIsWebServer" Then
    		WScript.Echo objSite.AdsPath
    		EnumVDir objSite, 1
    	End If
    Next
    
    WScript.Echo "Done processing."
    
    Sub EnumVDir(objVDir, i)
    	Dim objSubVDir, objDir
    	Dim strNewPath
    	
    	For Each objSubVDir in objVDir
    		If objSubVDir.Class = "IIsWebVirtualDir" Then
    			Set objDir = GetObject(objSubVDir.AdsPath)
    			
    			If ((Right(objDir.Path, 1) = "\") and (Right(objDir.Path, 2) <> ":\")) Then
    				WScript.Echo Space(i*3) & objDir.AdsPath
    				WScript.Echo Space(i*3) & "Path = " & objDir.Path
    
    				strNewPath = Left(objDir.Path, Len(objDir.Path) - 1)
    				WScript.Echo Space(i*3) & "New Path = " & strNewPath
    					
    				objDir.Put "Path", strNewPath
    				objDir.SetInfo
    			End If
    			
    			EnumVDir objDir, i + 1
    		End If
    	Next
    End Sub
    
    
  2. Εκτελέστε τη δέσμη ενεργειών από τη γραμμή εντολών .vbs. Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα:
    1. Κάντε κλικ στο μενού Έναρξη (Start), κατόπιν στην επιλογή Εκτέλεση (Run), πληκτρολογήστε cmd και, τέλος, κάντε κλικ στο κουμπί OK.
    2. Στη γραμμή εντολών, πληκτρολογήστε cscript [file_name.vbs].

      Σημείωση Το στοιχείο file_name είναι ένα σύμβολο κράτησης θέσης για το όνομα της δέσμης ενεργειών .vbs που χρησιμοποιείτε.
    3. Για να κλείσετε τη γραμμή εντολών, πληκτρολογήστε exit.

Περισσότερες πληροφορίες

Μετά την εφαρμογή αυτής της ενημερωμένης έκδοσης ασφαλείας, το ASP.NET εκτελεί πιο αυστηρούς ελέγχους για την εγκυρότητα τόσο των φυσικών διαδρομών όσο και των εικονικών διαδρομών που ζητήθηκαν.

Αναφορές

Για πρόσθετες πληροφορίες σχετικά με την ενημερωμένη έκδοση ασφαλείας MS05-004, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft (Knowledge Base):
887219 MS05-004: Ένα θέμα ευπάθειας επικύρωσης διαδρομής του ASP.NET θα μπορούσε να επιτρέψει μη εξουσιοδοτημένη πρόσβαση

Ιδιότητες

Αναγν. άρθρου: 894670 - Τελευταία αναθεώρηση: Παρασκευή, 10 Απριλίου 2009 - Αναθεώρηση: 2.7
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft .NET Framework 1.0
  • Microsoft .NET Framework 1.0 Service Pack 1
  • Microsoft .NET Framework 1.0 Service Pack 2
  • Microsoft .NET Framework 1.0 Service Pack 3
  • Microsoft .NET Framework 1.1
  • Microsoft .NET Framework 1.1 Service Pack 1
Λέξεις-κλειδιά: 
kbhttp404 kbdev kbasp kbtshoot kberrmsg kbprb KB894670

Αποστολή σχολίων

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com