Συμπτώματα
Όταν χρησιμοποιείτε μια λύση φίλτρου ή ένα τμήμα Web, ενδέχεται να λάβετε μηνύματα σφάλματος που έχουν παρόμοια με τα παρακάτω στα αρχεία καταγραφής του ενοποιημένου συστήματος καταγραφής του SharePoint (ULS). Αυτά τα μηνύματα υποδεικνύουν ότι ορισμένες λύσεις περιβάλλοντος προστατευμένης εκτέλεσης ή τμήματα Web έχουν αποκλειστεί.
Για το SharePoint Foundation 2013 και τον SharePoint Enterprise Server 2016 με εγκατεστημένη την ενημέρωση ασφαλείας του Μαΐου 2022:
| Αναγνωριστικό συμβάντος | Μήνυμα |
|---|---|
| ajrme |
Σημείωση: Η κλήση ExecuteRequestInSandBox απέτυχε. System.ArgumentException: Δεν ήταν δυνατή η επίλυση του τύπου στο Microsoft.SharePoint.UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) at …... |
| ajlz0 |
Σημείωση: Λήψη μηνύματος σφάλματος για εξαίρεση System.ArgumentException: Δεν ήταν δυνατή η επίλυση του τύπου στο Microsoft.SharePoint.UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType (όνομα_συγκρότησης συμβολοσειράς, όνομα_τύπου συμβολοσειράς) at …... |
Για το SharePoint Foundation 2013 με εγκατεστημένη την ενημέρωση ασφαλείας του Ιουνίου 2022 ή νεότερη ενημέρωση ασφαλείας και για τον SharePoint Enterprise Server 2016 με εγκατεστημένη την ενημέρωση ασφαλείας του Ιουλίου 2022 ή μεταγενέστερη ενημέρωση ασφαλείας:
| Αναγνωριστικό συμβάντος | Μήνυμα |
|---|---|
| 6Κ389 | Σημείωση: Μη έγκυρος τύπος: type=XXXXX; assembly=YYYY, στο SPUserCodeSerializationBinder. Επισκεφτείτε https://go.microsoft.com/fwlink/?LinkId=2196531 για περισσότερες πληροφορίες και για να μάθετε πώς μπορείτε να επιλύσετε αυτό το σφάλμα. |
| ajrme |
Σημείωση: Η κλήση ExecuteRequestInSandBox απέτυχε. System.ArgumentException: Δεν ήταν δυνατή η επίλυση του τύπου στο Microsoft.SharePoint.UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) at …... |
| ajlz0 |
Σημείωση: Λήψη μηνύματος σφάλματος για εξαίρεση System.ArgumentException: Δεν ήταν δυνατή η επίλυση του τύπου στο Microsoft.SharePoint.UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType (όνομα_συγκρότησης συμβολοσειράς, όνομα_τύπου συμβολοσειράς) at …... |
Αιτία
Ξεκινώντας από την ενημέρωση ασφαλείας του Μαΐου 2022, η υπηρεσία περιβάλλοντος προστατευμένης εκτέλεσης του SharePoint περιορίζει περαιτέρω τους τύπους και τις συγκροτήσεις που επιτρέπει την εκτέλεση από προεπιλογή.
Επίλυση
Για να διορθώσετε αυτό το ζήτημα, πρέπει να καταχωρήσετε τύπους ή συγκροτήσεις τρίτων που η υπηρεσία περιβάλλοντος προστατευμένης εκτέλεσης του SharePoint θα επιτρέπει την εκτέλεσή τους. Για να το κάνετε αυτό, ακολουθήστε τα παρακάτω βήματα:
Για το SharePoint Foundation 2013, εγκαταστήστε την ενημέρωση ασφαλείας του Ιουνίου 2022 ή μια νεότερη ενημέρωση ασφαλείας. Για τον SharePoint Enterprise Server 2016, εγκαταστήστε την ενημέρωση ασφαλείας του Ιουλίου 2022 ή μια νεότερη ενημέρωση ασφαλείας.
Χρησιμοποιήστε τη λύση ή το τμήμα Web προστατευμένης εκτέλεσης που επηρεάζεται για να ενεργοποιήσετε το πρόβλημα.
Ανοίξτε το αρχείο καταγραφής ULS του SharePoint και αναζητήστε το αναγνωριστικό συμβάντος "6K389". Θα βρείτε το ακόλουθο μήνυμα με αυτό το αναγνωριστικό συμβάντος:
Σημείωση
Μη έγκυρος τύπος: type=XXXXX; assembly=YYYYY στο SPUserCodeSerializationBinder. Επισκεφτείτε https://go.microsoft.com/fwlink/?LinkId=2196531 για περισσότερες πληροφορίες και για να μάθετε πώς μπορείτε να επιλύσετε αυτό το σφάλμα.
Σημειώστε τους τύπους και τις συγκροτήσεις που είναι μπλοκαρισμένες.
Ανοίξτε το αρχείο web.config της εφαρμογής web όπου βρίσκονται οι λύσεις περιβάλλοντος προστατευμένης εκτέλεσης ή τα τμήματα Web. Η διαδρομή του web.config θα μοιάζει συνήθως με την ακόλουθη:
C:\inetpub\wwwroot\wss\VirtualDirectories\<web application port>
Προσθέστε ένα στοιχείο AllowedListItems στην ενότητα configuration/SharePoint/SafeMode.
Μέσα στο στοιχείο AllowedListItems , προσθέστε ένα στοιχείο AllowedItem με το χαρακτηριστικό Name να έχει οριστεί σε AllowedSandboxType με την ακόλουθη μορφή:
Για να καταργήσετε τον αποκλεισμό συγκεκριμένων τύπων, προσθέστε στοιχεία με την ιδιότητα Type ως εξής:
<AllowedItem Name="AllowedSandboxType" Type="XXXXX"/>
Για να ξεμπλοκάρετε συγκεκριμένες συγκροτήσεις, προσθέστε στοιχεία με την ιδιότητα "Συγκρότηση " ως εξής:
<AllowedItem Name="AllowedSandboxType" Assembly="YYYYY"/>
Ακολουθεί ένα παράδειγμα:
<SafeMode
MaxControls = "200"
CallStack = "false"
DirectFileDependencies ="10"
TotalFileDependencies = "250"
AllowPageLevelTrace = "false"
ControlCompatMode="false"
>
<PageParserPaths>
</PageParserPaths>
<AllowedListItems>
<AllowedItem Name="AllowedSandboxType" Type="Microsoft.SharePoint.Portal.WebControls.RSSAggregatorWebPart, Microsoft.SharePoint.Portal, Version=15.0.0.0, Culture=neutral, PublicKeyToken=xxxxxx"/>
<AllowedItem Name="AllowedSandboxType" Assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=xxxxxx"/>
</AllowedListItems>
</SafeMode>