Συμπτώματα
Όταν χρησιμοποιείτε μια λύση φίλτρου ή ένα τμήμα Web, ενδέχεται να λάβετε τα μηνύματα σφάλματος που μοιάζουν με τα παρακάτω σε SharePoint αρχεία καταγραφής του Ενοποιημένου συστήματος καταγραφής (ULS). Αυτά τα μηνύματα υποδεικνύουν ότι ορισμένες λύσεις φίλτρου ή τμήματα Web έχουν αποκλειστεί.
Για SharePoint Foundation 2013 και SharePoint Enterprise Server 2016 με εγκατεστημένη την ενημέρωση ασφαλείας μαΐου 2022:
Αναγνωριστικό συμβάντος |
Μήνυμα |
ajrme |
Η κλήση ExecuteRequestInSandBox απέτυχε. System.ArgumentException: Ο τύπος δεν επιλύθηκε στη Microsoft. SharePoint. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(Όνομα συμβολοσειράς, Τύπος συμβολοσειράς) |
ajlz0 |
Λήψη μηνύματος σφάλματος για σύστημα εξαίρεσης.ArgumentException: Ο τύπος δεν επιλύθηκε στη Microsoft. SharePoint. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(Όνομα συμβολοσειράς, Τύπος συμβολοσειράς) |
Για SharePoint Foundation 2013 με εγκατεστημένη την ενημέρωση ασφαλείας του Ιουνίου 2022 ή νεότερη ενημέρωση ασφαλείας και για τον SharePoint Enterprise Server 2016 με εγκατεστημένη την ενημέρωση ασφαλείας του Ιουλίου 2022 ή νεότερη ενημέρωση ασφαλείας:
Αναγνωριστικό συμβάντος |
Μήνυμα |
6k389 |
Μη έγκυρος τύπος: type=XXXXX; assembly=YYYYY, in SPUserCodeSerializationBinder. Επισκεφθείτε https://go.microsoft.com/fwlink/?LinkId=2196531 για περισσότερες πληροφορίες και για να μάθετε πώς μπορείτε να επιλύσετε αυτό το σφάλμα. |
ajrme |
Η κλήση ExecuteRequestInSandBox απέτυχε. System.ArgumentException: Ο τύπος δεν επιλύθηκε στη Microsoft. SharePoint. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(Όνομα συμβολοσειράς, Τύπος συμβολοσειράς) |
ajlz0 |
Λήψη μηνύματος σφάλματος για σύστημα εξαίρεσης.ArgumentException: Ο τύπος δεν επιλύθηκε στη Microsoft. SharePoint. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(Όνομα συμβολοσειράς, Τύπος συμβολοσειράς) |
Αιτία
Ξεκινώντας από την ενημέρωση ασφαλείας του Μαΐου 2022, η υπηρεσία SharePoint φίλτρου περιορίζει περαιτέρω τους τύπους και τις συναρμολογήσεις που επιτρέπει να εκτελούνται από προεπιλογή.
Επίλυση
Για να διορθώσετε αυτό το πρόβλημα, πρέπει να καταχωρήσετε τους τύπους ή τις συνελεύσεις τρίτων κατασκευαστών που θα επιτρέψει η εκτέλεση της υπηρεσίας SharePoint φίλτρου. Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα:
-
Για SharePoint Foundation 2013, εγκαταστήστε την ενημέρωση ασφαλείας του Ιουνίου 2022 ή μια νεότερη ενημέρωση ασφαλείας. Για SharePoint Enterprise Server 2016, εγκαταστήστε την ενημέρωση ασφαλείας του Ιουλίου 2022 ή μια νεότερη ενημέρωση ασφαλείας.
-
Χρησιμοποιήστε τη λύση φίλτρου ή το τμήμα Web που επηρεάζεται για να ενεργοποιήσετε το πρόβλημα.
-
Ανοίξτε το αρχείο καταγραφής SharePoint ULS και αναζητήστε το αναγνωριστικό συμβάντος "6K389". Θα βρείτε το ακόλουθο μήνυμα με αυτό το αναγνωριστικό συμβάντος:
Μη έγκυρος τύπος: type=XXXXX; assembly=YYYYY στο SPUserCodeSerializationBinder. Επισκεφθείτε https://go.microsoft.com/fwlink/?LinkId=2196531 για περισσότερες πληροφορίες και για να μάθετε πώς μπορείτε να επιλύσετε αυτό το σφάλμα.
-
Σημειώστε τους τύπους και τις συνελεύσεις που έχουν αποκλειστεί.
-
Ανοίξτε το αρχείο web.config της εφαρμογής Web όπου βρίσκονται οι Λύσεις Sandbox ή τα τμήματα Web. Η διαδρομή του web.config συνήθως μοιάζει με την εξής:
C:\inetpub\wwwroot\wss\VirtualDirectories\<θύρα εφαρμογής Web> -
Προσθέστε ένα στοιχείο AllowedListItems στην ενότητα ρύθμισης παραμέτρων/SharePoint/SafeMode.
-
Μέσα στο στοιχείο AllowedListItems , προσθέστε ένα στοιχείο AllowedItem με το χαρακτηριστικό Name να έχει οριστεί σε AllowedSandboxType στην ακόλουθη μορφή:
-
Για να καταργήσετε τον αποκλεισμό συγκεκριμένων τύπων, προσθέστε στοιχεία με την ιδιότητα Type ως εξής:
<AllowedItem Name="AllowedSandboxType" Type="XXXXX"/> -
Για να καταργήσετε τον αποκλεισμό συγκεκριμένων συγκροτήσεων, προσθέστε στοιχεία με την ιδιότητα Assembly ως εξής:
<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>