Αναγν. άρθρου: 306355 - Τελευταία αναθεώρηση: Κυριακή, 29 Μαΐου 2011 - Αναθεώρηση: 4.0

Τρόπος δημιουργίας προσαρμοσμένου σφάλματος σελίδες ASP.NET χρησιμοποιώντας Visual C#.NET

Συμβουλή συστήματοςΑυτό το άρθρο ισχύει για διαφορετικό λειτουργικό σύστημα από αυτό που χρησιμοποιείτε. Το περιεχόμενο του άρθρου που ενδέχεται να μην σας αφορά έχει απενεργοποιηθεί.

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

Ανάπτυξη όλων | Σύμπτυξη όλων

Περίληψη

Αυτό το άρθρο περιγράφει τον τρόπο χρήσης της Visual C#.ΚΑΘΑΡΌ κώδικα παγίδευση και ανταποκρίνεται σε σφάλματα όταν παρουσιάζονται σε σελίδες ASP.NET. ASP.NET βελτιώθηκε το σφάλμα κατά το χειρισμό επιλογές από παραδοσιακές Microsoft Active Server Pages (ASP). Στο ASP.ΚΑΘΑΡΉ, μπορείτε να χειριστείτε σφάλματα σε πολλά διαφορετικά επίπεδα σε σας εφαρμογές.

Νέες δυνατότητες των ASP.NET

ASP.NET προσφέρει αρκετές προόδους της τον τρόπο χειρισμού και ανταποκρίνεται για σφάλματα. Στην παραδοσιακή ASP χειρισμό σφαλμάτων με "Σε σφάλμα Resume Next" (ή try-catch αποκλείει σε JScript). Εναλλακτικά, εάν εκτελείτε το Microsoft Internet Information Services (IIS) 5.0, μπορείτε να χρησιμοποιήσετε το ASPError το αντικείμενο για να δημιουργήσετε ένα προσαρμοσμένο σφάλμα σελίδα αναφοράς. Ωστόσο, αυτές προσεγγίσεις έχουν τους περιορισμούς.

ASP.NET παρέχει πολλά επίπεδα στο που μπορεί να χειρίζονται και να απαντήσετε σε σφάλματα που ενδέχεται να παρουσιαστεί όταν εκτελείτε μια ASP.ΚΑΘΑΡΉ εφαρμογή. ASP.NET παρέχει τρεις κύριες μεθόδους που σας επιτρέπουν να παγιδεύσετε και ανταποκρίνεται σε σφάλματα όταν παρουσιάζονται: Page_Error, Application_Error, και το αρχείο ρύθμισης παραμέτρων εφαρμογής (Web.config).

Αυτό το άρθρο παρουσιάζει τον τρόπο για να χρησιμοποιήσετε αυτές τις νέες δυνατότητες σε σας ASP.NET εφαρμογή. Παρόλο που αυτό το άρθρο περιγράφει τον τρόπο παροχής προσαρμοσμένες σελίδες σφαλμάτων Γενική αναφορά σφαλμάτων και όπως σχετίζεται άμεσα με ASP.NET, αυτό το άρθρο Περιγράψτε άλλο σφάλμα χειρισμού προσεγγίσεις, όπως η try-catch-τέλος Αποκλεισμός και εξαίρεση χρόνου εκτέλεσης κοινής γλώσσας (CLR) το σύστημα.

Τρόπος χρήσης της μεθόδου Page_Error

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

Σημείωση Αυτό το παράδειγμα εμφανίζει λεπτομερών πληροφοριών σφάλματος στο πρόγραμμα περιήγησης μόνο για σκοπούς επίδειξης. Θέλετε να είστε προσεκτικοί κατά την εμφάνιση λεπτομερείς πληροφορίες για τον τελικό χρήστη της εφαρμογής, ιδίως όταν το εφαρμογή εκτελείται στο Internet. Θα ήταν καταλληλότερη ενέργεια εμφανίζεται ένα μήνυμα στο χρήστη, ειδοποιώντας ότι παρουσιάστηκε σφάλμα, και στη συνέχεια, στην πραγματικότητα καταγραφή λεπτομέρειες του συγκεκριμένου σφάλματος στο αρχείο καταγραφής συμβάντων.

Αυτό το παράδειγμα παρουσιάζει null εξαίρεσης, η οποία επιβάλλει το σφάλμα παρουσιάζεται στο του Page_Load το πρόγραμμα χειρισμού συμβάντων. Ακολουθήστε τα εξής βήματα για να δημιουργήσετε την αρχική σελίδα που θα αποδειχθεί χρησιμοποιώντας το Page_Error το πρόγραμμα χειρισμού συμβάντων.
  1. Ακολουθήστε τα εξής βήματα για να προσθέσετε ένα νέο αρχείο με όνομα PageEvent.aspx στο έργο σας:
    1. Ανοίξτε το Microsoft Visual Studio.NET.
    2. Στην Εξερεύνηση λύση, κάντε δεξιό κλικ στον κόμβο έργου στην Προσθήκη, και στη συνέχεια κάντε κλικ στο κουμπί Προσθήκη φόρμας Web.
    3. Με το Όνομα πλαίσιο κειμένου, πληκτρολογήστε PageEvent.aspx, και στη συνέχεια Κάντε κλικ στο κουμπί Άνοιγμα.
  2. Προσθέστε τον ακόλουθο κώδικα PageEvent.aspx:
    <script language=C# runat="server">
    void Page_Load(object sender, System.EventArgs e)
    {
    	throw(new ArgumentNullException());
    }
    
    public void Page_Error(object sender,EventArgs e)
    {
    	Exception objErr = Server.GetLastError().GetBaseException();
    	string err =	"<b>Error Caught in Page_Error event</b><hr><br>" + 
    			"<br><b>Error in: </b>" + Request.Url.ToString() +
    			"<br><b>Error Message: </b>" + objErr.Message.ToString()+
    			"<br><b>Stack Trace:</b><br>" + 
    	                  objErr.StackTrace.ToString();
    	Response.Write(err.ToString());
    	Server.ClearError();
    }
    </script> 
    					

    Σημείωση Σε αυτό το δείγμα κώδικα, το AutoEventWireup χαρακτηριστικό έχει οριστεί ρητά. Εάν δεν αντιστοιχίσετε ρητά μια τιμή για το AutoEventWireup το χαρακτηριστικό, η προεπιλεγμένη τιμή TRUE χρησιμοποιείται. Εάν χρησιμοποιείτε το Visual Studio.NET να αναπτύξουν σας εφαρμογές, τον κωδικό του προτύπου φόρμας Web ορίζει ρητά το AutoEventWireup τιμή χαρακτηριστικού FALSE. Υπάρχει σημαντική διαφορά μεταξύ της προεπιλεγμένης τιμής που ASP.NET χρήσεις και η προεπιλεγμένη τιμή που το Visual Studio.Πρότυπο ΚΑΘΑΡΌ κώδικα αντιστοιχίζει το χαρακτηριστικό αυτό. Εάν το AutoEventWireup ορίζεται η τιμή χαρακτηριστικού FALSE, τα προγράμματα χειρισμού συμβάντων που δηλώνονται στο του.Σελίδα ASPX δεν πυρκαϊάς. Αυτό μπορεί να σας μπερδέψει Εάν δεν γνωρίζετε σχετικά με αυτό λειτουργικότητα.
  3. Από το Το αρχείο μενού, κάντε κλικ στο κουμπί Αποθήκευση PageEvent.aspx.
  4. Κάντε δεξιό κλικ στη σελίδα και, στη συνέχεια, κάντε κλικ στο κουμπί Προβολή σε πρόγραμμα περιήγησης Για να εκτελέσετε τη σελίδα. Παρατηρήστε ότι το σφάλμα είναι δημιουργήθηκε και έχει αναφερθεί σύμφωνα με τις προδιαγραφές του κώδικα.
Σημείωση Ενδέχεται να παρατηρήσετε ότι ο κώδικας εκδίδει μια κλήση Server.ClearError. Αυτό εμποδίζει να συνεχίσετε να το σφάλμα του Application_Error το πρόγραμμα χειρισμού συμβάντων.

Επιπλέον, θα πρέπει να λαμβάνουν Σημείωση από το Κληρονομεί χαρακτηριστικό στο του @ Page οδηγία. Εάν Κληρονομεί έχει οριστεί, πρέπει να δημιουργήσετε το έργο πριν να μεταβείτε στη σελίδα. Εάν δεν δημιουργήσετε πρώτα το έργο, λαμβάνετε το ακόλουθο μήνυμα λάθους:
'Project.PageEvent' δεν είναι έγκυρος τύπος

Τρόπος χρήσης της μεθόδου Application_Error

Παρόμοια με το Page_Error το πρόγραμμα χειρισμού συμβάντων, μπορείτε να χρησιμοποιήσετε το Application_Error το πρόγραμμα χειρισμού συμβάντων παγίδευσης σφάλματα που παρουσιάζονται στην εφαρμογή σας. Παράδοσης εμβέλεια εφαρμογής όλο το συμβάν, μπορείτε να συνδεθείτε από σφάλμα εφαρμογής πληροφορίες ή άλλα σφάλματα επιπέδου εφαρμογής που ενδέχεται να προκύψουν.

Το δείγμα να ακολουθήσετε είναι με βάση το προηγούμενο Page_Error δείγμα κώδικα και θα ενεργοποιείται, εάν το σφάλμα στο Page_Load ήταν παγιδευμένα σε το Page_Error το πρόγραμμα χειρισμού συμβάντων. Το Application_Error το πρόγραμμα χειρισμού συμβάντων ορίζεται στο αρχείο Global.asax σας εφαρμογή. Για λόγους ευκολίας, τα βήματα σε αυτήν την ενότητα Δημιουργία νέας σελίδας σε Για να δημιουργήσει την εξαίρεση, την παγίδευση σφαλμάτων σε το Application_Error το πρόγραμμα χειρισμού συμβάντων του το Global.asax αρχείου και γράψετε το σφάλμα του αρχείο καταγραφής συμβάντων. Τα παρακάτω βήματα δείχνουν τον τρόπο χρήσης του Application_Error μέθοδος:
  1. Προσθέστε ένα νέο αρχείο με όνομα AppEvent.aspx για να σας το έργο.
  2. Προσθέστε τον ακόλουθο κώδικα AppEvent.aspx:
    <script language=C# runat="server">
    	void Page_Load(object sender, System.EventArgs e)
    	{
    		throw(new ArgumentNullException());
    	}
    </script>
    					

    Σημείωση Οι πληροφορίες που αναφέρονται σε το "Page_Error"ενότητα σχετικά με το AutoEventWireup χαρακτηριστικό ισχύει επίσης για το δείγμα κώδικα σε αυτό το βήμα. Δείτε το πληροφορίες του "Page_Error"ενότητα για περισσότερες λεπτομέρειες.
  3. Από το Το αρχείο μενού, κάντε κλικ στο κουμπί Αποθήκευση AppEvent.aspx.
  4. Προσθήκη του Application_Error το πρόγραμμα χειρισμού συμβάντων στο αρχείο Global.asax για να εντοπίσετε το σφάλμα που throw του Page_Load πρόγραμμα χειρισμού συμβάντων της AppEvent.aspx σελίδας. Σημειώστε ότι πρέπει να προσθέσετε μια άλλη χρήση δήλωση για το System.Diagnostics χώρος ονομάτων για Global.asax για να χρησιμοποιήσετε το αρχείο καταγραφής συμβάντων.

    Προσθήκη του παρακάτω κώδικα στο αρχείο Global.asax:
    using System.Diagnostics;
    
    protected void Application_Error(object sender, EventArgs e)
    {
    	Exception objErr = Server.GetLastError().GetBaseException();
    	string err =	"Error Caught in Application_Error event\n" +
    			"Error in: " + Request.Url.ToString() +
    			"\nError Message:" + objErr.Message.ToString()+ 
    			"\nStack Trace:" + objErr.StackTrace.ToString();
    	EventLog.WriteEntry("Sample_WebApp",err,EventLogEntryType.Error);
    	Server.ClearError();
    	//additional actions...
    } 
    					
  5. Αποθηκεύστε το αρχείο Global.asax.
  6. Στο Visual Studio.NET από το Δόμηση μενού, κάντε κλικ στο κουμπί Δόμηση.
  7. Κάντε δεξιό κλικ στη σελίδα και, στη συνέχεια, κάντε κλικ στο κουμπί Προβολή σε πρόγραμμα περιήγησης. Στην περίπτωση αυτή η σελίδα θα είναι κενή, ωστόσο, θα πρέπει να παρατηρήσετε ότι έχει προστεθεί μια νέα καταχώρηση στο αρχείο καταγραφής συμβάντων. Αυτό το δείγμα δημιουργεί μια καταχώρηση στο το αρχείο καταγραφής εφαρμογής, το οποίο είναι προσβάσιμο από το πρόγραμμα προβολής συμβάντων. Μετά τη σύνδεση το σφάλμα μπορεί να θέλετε να ανακατευθύνετε το χρήστη σε άλλη πιο φιλικό προς το χρήστη σφάλμα σελίδας ή να εκτελέσετε ορισμένες πρόσθετες ενέργειες, εάν είναι απαραίτητο.

Τρόπος χρήσης του αρχείου Web.config

Αν δεν καλέσετε Server.ClearError ή συναρμογής σφάλμα κατά την Page_Error ή Application_Error πρόγραμμα χειρισμού συμβάντων, το σφάλμα γίνεται με βάση τις ρυθμίσεις του ενότητα<customerrors> του αρχείου Web.config. Με το <customerrors> ενότητα, μπορείτε να καθορίσετε μια σελίδα ανακατεύθυνσης ως προεπιλογή σφάλμα σελίδας (</customerrors></customerrors>defaultRedirect) ή να καθορίσετε μια συγκεκριμένη σελίδα, ανάλογα με τον κωδικό σφάλματος HTTP που ενεργοποιείται. Μπορείτε να χρησιμοποιήσετε αυτήν τη μέθοδο για να προσαρμόσετε το σφάλμα μηνύματος που το χρήστης λαμβάνει.

Εάν παρουσιαστεί σφάλμα, που είναι παγιδευμένα σε οποιαδήποτε από τις εμφανίζεται προηγούμενα επίπεδα στην εφαρμογή σας, αυτή η προσαρμοσμένη σελίδα. Αυτό ενότητα παρουσιάζει πώς μπορείτε να τροποποιήσετε το αρχείο Global.asax ώστε Server.ClearError καλείται ποτέ. Ως αποτέλεσμα, το σφάλμα γίνεται με το Το αρχείο Web.config ως τελευταίο σημείο για να παγιδεύσει το σφάλμα.
  1. Ανοίξτε το αρχείο Global.asax από την προηγούμενη παράδειγμα.
  2. Σχόλιο από το Server.ClearError γραμμή για να εξασφαλίσετε ότι το σφάλμα επιφάνειες με το αρχείο Web.config το αρχείο.
  3. Αποθηκεύστε τις αλλαγές Global.asax. Πρέπει τώρα να σας κώδικα είναι παρόμοιο με το ακόλουθο:
    using System.Diagnostics;
    
    protected void Application_Error(object sender, EventArgs e)
    {
    	Exception objErr = Server.GetLastError().GetBaseException();
    	string err =	"Error Caught in Application_Error event\n" +
    			"Error in: " + Request.Url.ToString() +
    			"\nError Message:" + objErr.Message.ToString() + 
    			"\nStack Trace:" + objErr.StackTrace.ToString();
    	EventLog.WriteEntry("Sample_WebApp",err,EventLogEntryType.Error);
    	//Server.ClearError();
    	//additional actions...
    } 
    					
  4. Προσθέστε τον ακόλουθο κώδικα στην ενότητα <customerrors> Για να ανακατευθύνετε το χρήστη σε μια προσαρμοσμένη σελίδα:<b00></b00></customerrors>
    <customErrors defaultRedirect="http://hostName/applicationName/errorStatus.htm" mode="On">
    </customErrors>
    						
    Σημείωση Πρέπει να τροποποιήσετε τη διαδρομή του αρχείου σε defaultRedirect ώστε να παραπέμπει στο διακομιστή Web σχετικές και ονόματα εφαρμογών.
  5. Επειδή τα σφάλματα τα οποία είναι παγιδευμένα σε αυτό το επίπεδο αποστέλλονται για μια προεπιλεγμένη σελίδα σφάλματος πρέπει να δημιουργήσετε μια σελίδα σφάλματος που ονομάζεται ErrorStatus.htm. Να θυμάστε ότι χρησιμοποιείτε αυτήν τη μέθοδο για να ελέγχετε τι υποβάλλεται το χρήστης, έτσι ώστε το παράδειγμα αυτό χρησιμοποιεί μια σελίδα .htm για τη σελίδα σφάλματος. Προσθέστε το ακόλουθο κωδικός για ErrorStatus.htm:
    <HTML>
    <HEAD>
    <TITLE></TITLE>
    <META NAME="GENERATOR" Content="Microsoft Visual Studio 7.0">
    </HEAD>
    <BODY>
         <b>Custom Error page!</b>
         <br>
         You have been redirected here from the <customErrors> section of the 
         Web.config file.
    </BODY>
    </HTML>
    					
  6. Για να δοκιμάσετε τον κώδικα, αποθηκεύστε τα αρχεία, δημιουργήστε το έργο και στη συνέχεια, προβάλετε AppEvent.aspx στο πρόγραμμα περιήγησης. Σημειώστε ότι όταν παρουσιαστεί το σφάλμα, μεταφερθείτε στη σελίδα ErrorStatus.htm.
Παρόλο που μπορείτε να αναφερθείτε σε μια προεπιλεγμένη σελίδα σφάλματος της τιμής το defaultRedirect χαρακτηριστικό στην ενότητα <customerrors> , μπορείτε επίσης να Καθορίστε μια συγκεκριμένη σελίδα, για να ανακατευθύνετε με βάση τον κωδικό σφάλματος HTTP που είναι ενεργοποιείται. Αυτή η επιλογή επιτρέπει το θυγατρικό στοιχείο <error> . Για παράδειγμα:<b00></b00></error></customerrors>
<customErrors defaultRedirect="http://hostName/applicationName/errorStatus.htm" mode="On">
	<error statusCode="404" redirect="filenotfound.htm" />
</customErrors>
				
Σημείωση Η σελίδα που καθορίζεται στο defaultRedirect <customerrors> η ενότητα είναι ένα αρχείο .htm. I</customerrors>

Σημειώστε ότι το <customerrors> ενότητα περιλαμβάνει ένα<b00></b00></customerrors>κατάσταση λειτουργίας χαρακτηριστικό που έχει οριστεί σε Σε. Το κατάσταση λειτουργίας το χαρακτηριστικό χρησιμοποιείται για να ελέγξετε τον τρόπο ανακατεύθυνσης σφάλμα προκύπτει. Για παράδειγμα, εάν αναπτύσσετε την εφαρμογή, πιθανότατα θέλετε να δείτε πραγματική ASP.NET μηνύματα λάθους και δεν θέλετε να γίνει ανακατεύθυνση πιο σελίδα σφάλματος φιλικό προς το χρήστη. Το κατάσταση λειτουργίας χαρακτηριστικό περιλαμβάνει τις ακόλουθες ρυθμίσεις:
  • Σε: Ανεπίλυτες εξαιρέσεις ανακατευθύνετε το χρήστη για το καθορισμένο defaultRedirect σελίδα. Αυτή η λειτουργία χρησιμοποιείται κυρίως στην παραγωγή.
  • Απενεργοποίηση: Οι χρήστες λαμβάνουν πληροφορίες εξαίρεσης και γίνεται ανακατεύθυνση Για να το defaultRedirect σελίδα. Αυτή η λειτουργία χρησιμοποιείται κυρίως στην ανάπτυξη.
  • RemoteOnly: Μόνο οι χρήστες που έχουν πρόσβαση στην τοποθεσία του τοπικού υπολογιστή (χρησιμοποιώντας localhost) λαμβάνουν πληροφορίες εξαίρεσης. Όλοι οι άλλοι χρήστες ανακατευθύνονται σε το defaultRedirect σελίδα. Αυτή η λειτουργία χρησιμοποιείται κυρίως για τον εντοπισμό σφαλμάτων.

Αντιμετώπιση προβλημάτων

Με την προεπιλεγμένη εγκατάσταση σε Microsoft Windows 2000 και σε Τα Microsoft Windows XP, ASP.NET εκτελεί κώδικα της εφαρμογής Web σε μια διαδικασία εργασίας. Η ταυτότητα αυτή η διαδικασία προεπιλογών για τοπικό λογαριασμό χωρίς δικαιώματα που ονομάζεται λογαριασμό ASPNET. Σε εκδόσεις beta των ASP.NET, ήταν η ταυτότητα διεργασίας Σύστημα, ένα ισχυρό διαχείρισης λογαριασμό με πολλά δικαιώματα στον υπολογιστή.

Με την προεπιλεγμένη εγκατάσταση στον Windows Server 2003 (IIS 6), ASP.NET εκτελεί κώδικα της εφαρμογής Web σε μια διαδικασία εργασίας. Η ταυτότητα αυτή τη διαδικασία προεπιλογές περιορισμένο λογαριασμό που ονομάζεται NetworkService.

Για περισσότερες πληροφορίες πληροφορίες σχετικά με αυτήν την αλλαγή και πώς μπορεί να επηρεάσει στην εκτέλεση του κώδικα σε αυτό επισκεφθείτε το άρθρο και άλλα άλλο κώδικα που μπορεί να χρειαστείτε επιπλέον δικαιώματα στις ακόλουθες τοποθεσίες Web:
Έκδοση 1 Αλλαγές ασφαλείας για το Microsoft.NET Framework
http://msdn2.Microsoft.com/en-us/library/ms994923.aspx (http://msdn2.microsoft.com/en-us/library/ms994923.aspx)

Αναφορές

Για περισσότερες πληροφορίες, επισκεφθείτε την ακόλουθη Web Microsoft τοποθεσίες:
Εξαίρεση διαχείρισης.NET
http://msdn2.Microsoft.com/en-us/library/ms954599.aspx (http://msdn2.microsoft.com/en-us/library/ms954599.aspx) Η μέθοδος HttpServerUtility.ClearError
.aspx http://msdn2.Microsoft.com/en-us/library/System.Web.httpserverutility.clearerror (vs.71) (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemWebHttpServerUtilityClassClearErrorTopic.asp) MSDN.Κέντρο ανάπτυξης NET
http://msdn2.Microsoft.com/en-US/netframework/Default.aspx (http://msdn2.microsoft.com/en-us/netframework/default.aspx) Από τη Microsoft.NET κεντρική σελίδα
http://www.Microsoft.com/NET/ (http://www.microsoft.com/net/)

Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft ASP.NET 1.0
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft ASP.NET 1.1
  • Microsoft Visual C# .NET 2003 Standard Edition
Λέξεις-κλειδιά: 
kbconfig kbhowtomaster kbweb kbmt KB306355 KbMtel
Μηχανικά μεταφρασμένοΜηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:306355  (http://support.microsoft.com/kb/306355/en-us/ )