Αναγν. άρθρου: 893664 - Τελευταία αναθεώρηση: Πέμπτη, 23 Δεκεμβρίου 2010 - Αναθεώρηση: 2.0 Συμβάντα Web του ASP.NET 2.0
Πληροφορίες για την έκδοση BetaΑυτό το άρθρο ασχολείται με την έκδοση Beta ενός προϊόντος της Microsoft. Οι πληροφορίες αυτού του άρθρου παρέχονται ως έχουν και μπορεί να αλλάξουν χωρίς προειδοποίηση.Δεν διατίθεται επίσημη υποστήριξη προϊόντος από τη Microsoft για αυτό το προϊόν Beta. Για πληροφορίες σχετικά με τη λήψη υποστήριξης για μια έκδοση Beta, ανατρέξτε στην τεκμηρίωση που περιλαμβάνεται στα αρχεία του προϊόντος Beta ή στην τοποθεσία Web από την οποία κάνατε λήψη της συγκεκριμένης έκδοσης. Υποστήριξη ASP.NET ομιλία στήληΓια να προσαρμόσετε αυτήν τη στήλη για τις ανάγκες σας, σας προσκαλούμε να υποβάλετε τις ιδέες σας σχετικά με θέματα που σας ενδιαφέρουν και θέματα για τα οποία θέλετε να δείτε απευθύνεται σε μελλοντικές άρθρα της Γνωσιακής βάσης και οι στήλες υποστήριξης της φωνής. Μπορείτε να υποβάλετε τις ιδέες και τα σχόλιά σας χρησιμοποιώντας τοΕρώτηση για την (http://support.microsoft.com/common/survey.aspx?scid=sw;en;1176&p0=&p1=&p2=&p3=&p4=) MAPI. Υπάρχει επίσης μια σύνδεση για τη φόρμα στο κάτω μέρος αυτής της στήλης.Σε αυτήν τη σελίδαΕΙΣΑΓΩΓΗΚαλώς ορίσατε στη στήλη ASP.NET υποστήριξης της φωνής. Το όνομά μου είναι Jerry Orman. Μου έχουν με τη Microsoft περισσότερα από 5 χρόνια και αναλώσατε μεγαλύτερο μέρος του χρόνου που εστιάζεται στις τεχνολογίες που σχετίζονται με το Web, όπως το FrontPage και τις νέες τεχνολογίες του SharePoint. Αφιέρωσα το τελευταίο έτος που λειτουργεί με το ASP.NET ως ένας μηχανικός υποστήριξης. Αυτό το μήνα στη στήλη υποστήριξης φωνής, μου πρόκειται για την περιγραφή της νέας δυνατότητας συμβάντων Web που παρέχονται στην επερχόμενη έκδοση του ASP.NET 2.0. Η δυνατότητα συμβάντων Web του ASP.NET 2.0Μία από τις κύριες νέες υπηρεσίες που παρέχονται στο ASP.NET 2.0 είναι το Web τη δυνατότητα συμβάντα που παρέχονται από την εύρυθμη λειτουργία Εποπτεία συστήματος. Τροποποιώντας το αρχείο Web.config, μπορείτε να χρησιμοποιήσετε την εύρυθμη λειτουργία Εποπτεία συστήματος για να καταγράψει ανεπίλυτες εξαιρέσεις, φόρμες που έχουν λήξει, δελτία ελέγχου ταυτότητας και άλλα δεδομένα που θέλετε να καταγράφονται στην εφαρμογή σας. Η στήλη αυτή θα σας βοηθήσει να ξεκινήσετε χρησιμοποιώντας τη δυνατότητα συμβάντων Web και παρέχουν επίσης παραδείγματα του τρόπου χρήσης των διαφόρων υπηρεσιών παροχής στο ASP.NET 2.0.Καταγραφή επιτυγχάνεται καθορίζοντας έναν κανόνα ο οποίος συσχετίζει τα συμβάντα με μια υπηρεσία παροχής. Ο κανόνας ορίζει τον τύπο των συμβάντων που αποστέλλονται στην υπηρεσία παροχής. Διατίθενται τα παρακάτω συμβάντα βάσης για να συνδεθείτε: Σύμπτυξη αυτού του πίνακα
Το ASP.NET 2.0 χρησιμοποιεί το αρχείο καταγραφής συμβάντων υπηρεσίας παροχής εκτός του-πρώτη καταγραφή συμβάντων που βασίζονται σε τομείς εφαρμογής εκκίνηση και διακοπή, καθώς συνδέονται οι ανεπίλυτες εξαιρέσεις. Αυτό σας βοηθά να καλύψει μερικά από τα βασικά σενάρια. For example, let's say that your application throws an exception, but the user doesn't save the error and you can't reproduce it. With the default Event Log rule, you would be able to gather the exception and stack information to get a better idea of what kind of error occurred. Or, if your application is losing session state, you can look in the Event Log to determine whether the application domain is recycling, and why the application domain stopped in the first place. Also, the health monitoring system is extensible. For example, you can define custom Web events, fire them within your application, and then define a rule to send the event information to a provider such as your e-mail. This allows you to easily tie your instrumentation to the health monitoring providers. As another example, you could fire an event each time an order is processed and set up a rule that sends each event to the SQL Server database. You could also fire an event when a user fails to log on multiple times in a row, and set up the event to use the e-mail-based providers. The configuration for the default providers and events is stored in the global Web.config file. The global Web.config file stores all the Web-based settings that were stored in the Machine.config file in ASP.NET 1x. The global Web.config file is located in the following directory: %windir%\Microsoft.Net\Framework\v2.0.*\config\Web.config The <healthmonitoring> section of the global Web.config file
provides default configuration settings. You can override these setting or
configure your own settings by implementing the <healthmonitoring>
section in the Web.config file for your application.</healthmonitoring></healthmonitoring>The <healthmonitoring> section of the global Web.config file contains the following items: </healthmonitoring>
Provider sampleThis provider sample contains the following files:
How to store events to Event ViewerAs I mentioned earlier, the provider for logging events in the Event Viewer is configured for you in the global Web.config file. By default, all events based onWebBaseErrorEventANDWebFailureAuditEventare logged. You can add additional rules to log additional information to the Event Log. For example, if you wanted to log all events (i.e., every event based onWebBaseEvent), you could add the following rule to your Web.config file:To see the type of data generated, browse the Default.aspx page. This will throw aSystem.NullReferenceExceptionexception, and the following event will be logged in the Event Viewer: Τύπος συμβάντος: προειδοποίηση Τύπος συμβάντος: Πληροφορίες Με τον τρόπο αποθήκευσης των συμβάντων στο διακομιστή SQL ServerΑυτή η μέθοδος χρησιμοποιεί τοASPNETDBβάση δεδομένων, η οποία δημιουργείται από το εργαλείο Aspnet_regsql.exe. Η προεπιλεγμένη υπηρεσία παροχής χρησιμοποιεί τη συμβολοσειρά σύνδεσης LocalSqlServer, η οποία χρησιμοποιεί είτε μια βάση δεδομένων που βασίζεται σε αρχείο στο φάκελο App_data ή το τοπικό SQLExpress παρουσία του SQL Server. Και η συμβολοσειρά σύνδεσης LocalSqlServer και το SqlProvider ρυθμίζονται στο καθολικό αρχείο Web.config.Το LocalSqlServer συμβολοσειρά σύνδεσης στο καθολικό αρχείο Web.config είναι κάπως έτσι: Για να ρυθμίσετε μια προσαρμοσμένη βάση δεδομένων, ακολουθήστε τα εξής βήματα:
Τρόπος προώθησης συμβάντων WMIΜπορείτε επίσης να προωθήσετε τα συμβάντα στο WMI. Η υπηρεσία παροχής WMI έχει ρυθμιστεί για εσάς στο καθολικό αρχείο Web.config από προεπιλογή.Το ακόλουθο παράδειγμα κώδικα προσθέτει έναν κανόνα για την προώθηση των συμβάντων στο WMI: To use SampleASPNET, follow these steps:
Σύμπτυξη αυτής της εικόνας ![]() How to forward events to e-mailYou can also forward events to e-mail. This would allow you to get information about your application directly in your (probably overflowing) Inbox. Be careful about which event rules you map to your e-mail provider, as you can unintentionally send yourself a lot of information that may be better suited for SQL Server or the Event Log.There are two e-mail providers, SimpleMailWebEventProvider and TemplatedMailWebEventProvider. Each has the same configuration attributes, with the exception of the "template" and "detailedTemplateErrors" attributes, which are only available on the TemplatedMailWebEventProvider. ΣΗΜΕΙΩΣΗNeither of these e-mail providers is configured for you. You'll need to add them to your Web.config file. The main difference between these two e-mail providers is that SimpleMailWebEventProvider sends e-mails in a generic template that cannot be modified. The sample Web.config file adds this e-mail provider to the list of configured providers by using the following rule: Το δείγμα εφαρμογής χρησιμοποιεί τον ακόλουθο κώδικα για να προσθέσετε TemplatedMailWebEventProvider Web.config το αρχείο και να καθορίσετε τη σελίδα EmailTemplateTest.aspx ως πρότυπο. (Η σελίδα EmailTemplateTest.aspx διέρχεται μέσω των συμβάντων που είναι διαθέσιμες στο buffer και τα εμφανίζει σε έναν πίνακα.) Εάν detailedTemplateErrors = "true", τότε τα σφάλματα που παρουσιάζονται κατά την εκτέλεση του προτύπου θα σταλούν στο σώμα του μηνύματος ηλεκτρονικού ταχυδρομείου. Εάν detailedTemplateErrors = "false", αποστέλλεται ένα γενικό σφάλμα. Μια λεπτομερή σφάλμα δημιουργήθηκε από EmailTemplateTest.aspx μοιάζει κάπως έτσι: Σφάλμα διακομιστή στην ' / WebSite3 ' εφαρμογής. Παρουσιάστηκε μια εξαίρεση που δεν επιλύθηκε κατά την εκτέλεση της σελίδας προτύπου που χρησιμοποιήθηκε για τη δημιουργία αυτής της ειδοποίησης συμβάντων. Απορρίφθηκαν, τα συμβάντα 1 που ήταν τμήμα αυτού του μηνύματος. Περιγραφή: Προέκυψε μια εξαίρεση που δεν αντιμετωπίστηκε κατά την εκτέλεση της τρέχουσας αίτησης web. Ελέγξτε το ίχνος στοίβας για περισσότερες πληροφορίες σχετικά με το σφάλμα και την προέλευση του κωδικού. Λεπτομέρειες εξαίρεσης: System.Web.HttpException: η κατάσταση περιόδου λειτουργίας μπορεί να χρησιμοποιηθεί μόνο όταν το enableSessionState έχει οριστεί σε true, σε ένα αρχείο ρύθμισης παραμέτρων ή στην οδηγία Page. Please also make sure that System.Web.SessionStateModule or a custom session state module is included in the <configuration>\<system.web>\<httpmodules> section in the application configuration.</httpmodules></system.web></configuration> Source File: c:\Documents and Settings\user\Desktop\WebEvents\WebSite3\WebSite3\e-mailTemplateTest.aspx.cs Line: 17 Stack Trace: [HttpException (0x80004005): Session state can only be used when enableSessionState is set to true, either in a configuration file or in the Page directive. Please also make sure that System.Web.SessionStateModule or a custom session state module is included in the <configuration>\<system.web>\<httpmodules> section in the application configuration.]</httpmodules></system.web></configuration> System.Web.UI.Page.get_Session() +146 e-mailTemplateTest.Page_Load(Object sender, EventArgs e) in c:\Documents and Settings\user\Desktop\WebEvents\WebSite3\WebSite3\e-mailTemplateTest.aspx.cs:17 System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +13 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +45 System.Web.UI.Control.OnLoad(EventArgs e) +80 SystemWeb.UI.Control.LoadRecursive() +49 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3749 [HttpUnhandledException (0x80004005): Exception of type 'System.Web.HttpUnhandledException' was thrown.] System.Web.UI.Page.HandleError(Exception e) +929 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +7864 System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +229 System.Web.UI.Page.ProcessRequest() +12 System.Web.UI.Page.ProcessRequest(HttpContext context) +80 System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride) +1012 [HttpException (0x80004005): Error executing child request for /WebSite3/e-mailTemplateTest.aspx.] System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride) +1525 System.Web.HttpServerUtility.Execute(String path, TextWriter writer, Boolean preserveForm) +754 System.Web.HttpServerUtility.ExecuteLocalRequestAndCaptureResponse(String path, TextWriter writer, ErrorFormatterGenerator errorFormatterGenerator) +249 Server
Error in '/WebSite3' Application. An unhandled exception occurred during the execution of the template page used to create this event notification. The 8 events that were part of this message were discarded. Description: The current configuration prevents the exception details from being included in this message. Add the "detailedTemplateErrors=true" attribute to the provider configuration to enable exception details to be reported. If there are more e-mails thanmaxMessagesPerNotificationallows, some events are dropped. For example, if you set maxMessagesPerNotification to two and you use the samemaxEventsPerMessageόπως παραπάνω, που θα λαμβάνει μόνο δύο μηνύματα ηλεκτρονικού ταχυδρομείου. Τα συμβάντα που θα είναι το τρίτο ηλεκτρονικό ταχυδρομείο απορρίπτονται. Τυχόν απώλειες ή περικοπή των ειδοποιήσεων θα να σημειωθεί σε ένα από τα μηνύματα ηλεκτρονικού ταχυδρομείου, για την υπηρεσία παροχής αλληλογραφίας απλού. Στο επάνω μέρος του μηνύματος ηλεκτρονικού ταχυδρομείου θα εμφανίσει τα εξής:Εφόσον έχετε τον έλεγχο της μορφής του μηνύματος ηλεκτρονικού ταχυδρομείου για την υπηρεσία παροχής προτύπου, πρέπει να ελέγξετε απορρίπτει/περικοπή στον εαυτό σας και καθορίζουν αν θα που περιλαμβάνονται στο μήνυμα ηλεκτρονικού ταχυδρομείου. ΣΗΜΕΙΩΣΗΥπηρεσίες παροχής ηλεκτρονικού ταχυδρομείου χρησιμοποιούν System.Net.Mail, ώστε να πρέπει να ρυθμίσετε τις παραμέτρους System.Net.Mail στο αρχείο Web.config. Για περισσότερες πληροφορίες σχετικά με τη δυνατότητα συμβάντων Web του ASP.NET 2.0, μπορείτε να κάνετε λήψη των παρακάτω αρχείων δείγματος συμβάντων Web. Σύμπτυξη αυτής της εικόνας ![]() Για περισσότερες πληροφορίες σχετικά με το σχήμα ρυθμίσεων ASP.NET, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web: healthMonitoring στοιχείων (σχήμα ρυθμίσεων ASP.NET) Για περισσότερες πληροφορίες σχετικά με την παρακολούθηση της εύρυθμης λειτουργίας στο ASP.NET 2.0, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web:http://msdn2.Microsoft.com/Library/2fwh2ss9(en-us,VS.80).aspx (http://msdn2.microsoft.com/library/2fwh2ss9(en-us,vs.80).aspx) Τρόπος χρήσης της εύρυθμης λειτουργίας παρακολούθησης στο ASP.NET 2.0 http://msdn2.Microsoft.com/en-us/library/ms998306.aspx (http://msdn2.microsoft.com/en-us/library/ms998306.aspx) Πάντα, αίσθηση ελεύθερο να υποβάλλουν ιδέες σχετικά με θέματα που θέλετε στο μέλλον απευθύνεται στήλες ή στη Γνωσιακή βάση, χρησιμοποιώντας τοΕρώτηση για την
(http://support.microsoft.com/common/survey.aspx?scid=sw;en;1176&p0=&p1=&p2=&p3=&p4=)
MAPI.
Μηχανικά μεταφρασμένοΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης. Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:893664
(http://support.microsoft.com/kb/893664/en-us/
)
| Άλλοι πόροι Tοποθεσίες υποστήριξης
ΚοινότηταΆμεση λήψη βοήθειαςΜεταφράσεις άρθρων |






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email



Επιστροφή στην αρχή


