Περάστε την ημέρα κρυπτογράφηση...(and .NET ΜSK2 bug
I'm working...hmmM SK2thought IΜSK3t mention a very strange bug I came across yesterday at Δουλειά - που με είχε παζλ για περίπου μια μέρα και μισήΜSK1
Έγραψα μια αίτηση (The Portal IΜSK1ve αναφέρθηκε προηγουμένως Η Εκπαιδευτική Κοινότητα), επιχειρήσεις που χρησιμοποιούν το Δεδομένα Πρόσβαση στο μπλοκ εφαρμογώνΓια να παρέχουμε το DAL - που συνιστώ ιδιαίτερα. Οποιαδήποτε περίπτωσηM SK2 Αυτό ήταν πάντα ακατάλληλο σε κάθε πλατφόρμα που μου άρεσε'βοί το προσπάθησαν στο.Ο κώδικας είναι κάτω απόΜSK2
string user = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
string exceptionStr=exception.ToString() + exception.StackTrace;
SqlParameter[] sqlParams = new SqlParameter[4]; SqlParameter
prmUser = new SqlParameter("@user",SqlDbType.VarChar,500);
prmUser.Value = user;
SqlParameter prmMessage = new SqlParameter("@exceptionMessage",
SqlDbType.VarChar, 2000);
prmMessage.Value = exception.Message;
SqlParameter prmExStr = new SqlParameter("@exception",SqlDbType.Text);
prmExStr.Value = exceptionStr;
SqlParameter prmPortalId = new SqlParameter("@portalId",SqlDbType.SmallInt);
prmPortalId.Value = 0; sqlParams[0] = prmUser;
sqlParams[1] = prmMessage;
sqlParams[2] = prmExStr;
sqlParams[3] = prmPortalId;
/*SqlHelperParameterCache.GetSpParameterSet(_connectionString,"pr_Admin_InsertError"); sqlParams[0].Value
= user; sqlParams[1].Value = exception.Message; sqlParams[2].Value
= exceptionStr; //sqlParams[2].Value = "Test String"; sqlParams[3].Value
= ((PortalSettings)HttpContext.Current.Items["PortalSettings"]).PortalId;*/
SqlHelper.ExecuteNonQuery(_connectionString,CommandType.StoredProcedure,"pr_Admin_InsertError",sqlParams);
Χρησιμοποιώ μια μέθοδο που παρέχει ονομάζεται SqlHelperParameterCache.GetSpParameters (αναφέρθηκε έξω στον παραπάνω κώδικα) ΜSK1 αυτό βασικά απλώς κατοικεί μια σειρά από SqlParameters με Οι παραμέτρους που επιστρέφονται από το DB - σίγουρα εξοικονομεί λίγο κωδικοποίηση και καθιστά την εφαρμογή ευκολότερη να ενημερωθεί ως το SPs αλλάζει - nice!
Σε κάθε περίπτωση, το , μπορεί αυτό να έχει λειτουργήσει χωρίς σφάλματα στο , μπορεί γρήγορα στο , μπορεί να είναι αποτελεσματικό όλα αυτά τα πράγματα σε ! μπορεί μέχρις ότου το , μπορεί να Προσπάθησα να εκτελέσω στο δοκιμαστικό μας περιβάλλον την Πέμπτη -Έχω συνεχίσει να λαμβάνω διάφορα λάθηΜSK1 Σοβαρό σφάλμα και σφάλματα γενικού δικτύου πίσω από το SQL Server 2000 αναφέρθηκε όταν προσπάθησα να εκτελέσω ο κωδικός που σχολιάστηκε παραπάνω. Καλώς, η έκδοση του MK2NET σε αυτό το μηχάνημα ήταν ΜSK3
- Μια εκδοχή που μου άρεσε' θα μπορούσε ποτέ να δει και μπορεί να μετρηθεί' θα μπορούσε να πάρει - αλλά υποθέτω ότι μετρήθηκε, .NET ΜSK5 ήταν όλα ωραία Πολύ το ίδιο αναφέρθηκε, ίσως μερικά διορθώσεις bug αλλά αυτό αναφέρθηκαν' αναφέρθη σχετικά με αυτό αναφέρει! αναφέρουν
Umm...wrong, αποδεικνύει ότι αυτή η έκδοση έχει ένα σημαντικό πρόβλημα όταν προσπαθείτε να πάρετε τις παραμέτρους Επιστροφή από ένα SP όταν το SP περιμένει ένα 'textΜSK1 πεδίο τύπου ΜSK2 απλά παίρνει λάθος με κάποιο τρόπο
- και προκαλεί αυτό το τρομακτικό σφάλμα , ψευδώνυμο σφάλματα . Λύση, δηλώνει ρητά τους τύπους πεδίου για τις παραμέτρους αν το SP σας περιέχει ένα 'textΜSK1 πεδίο ΜSK2 ειδικά ένα I've δοκιμάστηκε για Μπορεί να επηρεάσει περισσότερα ' μη συνδυασμένα ΜSK1 ειδικά είδη ΜSK2 ειδικά
Εν πάση περιπτώσει , fixed τώρα ΜSK1 αλλά σας συνιστώ να αναβαθμίσετε σε ΜSK2 - που έχει επίσης μια φανταστική Κάτι που ανακάλυψα από κάποια μπλοκάκια στο blog ASP. Υποστήριξη Weblogs απλό, αλλά εξοικονομεί λίγο από την πληκτρολόγηση, ίσως φαίνεται ότι DropDownList ( ίσως αναμένω Το RadioButtonList το έχει επίσης, αλλά δεν το προσπάθησεΜSK1 που είναι μια ιδιοκτησία SelectedValue - Πόσο cool είναι ότι - καλά δεν το κρύοΜSK1 αλλά το ΜSK2 καλύτερα από ό, τι κάνει το παλιό ddlM SK3SelectedItem.Value Μικρότερες εταιρείες