תופעות
בעת שימוש בפתרון ארגז חול (Sandbox) או ב- Web Part, ייתכן שתקבל את הודעות השגיאה הדומה להודעה הבאה ביומני מערכת הרישום המאוחדת (ULS SharePoint Unified Logging System (ULS). הודעות אלה מציינות שפתרונות או רכיבי Web Part מסוימים של ארגז חול חסומים.
עבור SharePoint Foundation 2013 ו- SharePoint Enterprise Server 2016 עם עדכון האבטחה של מאי 2022 המותקן:
מזהה אירוע |
ההודעה |
חוה מלכה |
קריאה ל- ExecuteRequestInSandBox נכשלה. System.ArgumentException: הסוג לא היה ניתן לאתחול ב- Microsoft. SharePoint. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) ב- ...... |
חוה מלכה |
מקבל הודעת שגיאה עבור Exception System.ArgumentException: הסוג לא היה ניתן לפתרון ב- Microsoft. SharePoint. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) ב- ...... |
עבור SharePoint Foundation 2013 עם עדכון האבטחה של יוני 2022 או עדכון אבטחה מאוחר יותר מותקן עבור SharePoint Enterprise Server 2016 עם עדכון האבטחה של יולי 2022 או עדכון אבטחה מאוחר יותר מותקן:
מזהה אירוע |
ההודעה |
113300000 |
סוג לא חוקי: type=XXXXX; assembly=YYYYY, ב- SPUserCodeSerializationBinder. בקר https://go.microsoft.com/fwlink/?LinkId=2196531 לקבלת מידע נוסף וללמוד כיצד לפתור שגיאה זו. |
חוה מלכה |
קריאה ל- ExecuteRequestInSandBox נכשלה. System.ArgumentException: הסוג לא היה ניתן לאתחול ב- Microsoft. SharePoint. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) ב- ...... |
חוה מלכה |
מקבל הודעת שגיאה עבור Exception System.ArgumentException: הסוג לא היה ניתן לפתרון ב- Microsoft. SharePoint. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) ב- ...... |
סיבה
החל מעדכון האבטחה של מאי 2022, שירות SharePoint Sandbox מגביל עוד יותר את הסוגים וההרכבות שהוא מאפשר הפעלה כברירת מחדל.
פתרון
כדי לפתור בעיה זו, עליך לרשום את הסוגים או ההרכבות של ספקים חיצוניים ששירות SharePoint ארגז החול (Sandbox) יאפשר הפעלה. לשם כך, בצע את השלבים הבאים:
-
עבור SharePoint Foundation 2013, התקן את עדכון האבטחה של יוני 2022 או עדכון אבטחה מאוחר יותר. עבור SharePoint Enterprise Server 2016, התקן את עדכון האבטחה של יולי 2022 או עדכון אבטחה מאוחר יותר.
-
השתמש בפתרון או ב- Web Part של ארגז חול (Sandbox) המושפע כדי להפעיל את הבעיה.
-
פתח את SharePoint ULS וחפש את מזהה האירוע "6K389". תמצא את ההודעה הבאה עם מזהה אירוע זה:
סוג לא חוקי: type=XXXXX; assembly=YYYYY in SPUserCodeSerializationBinder. בקר https://go.microsoft.com/fwlink/?LinkId=2196531 לקבלת מידע נוסף וללמוד כיצד לפתור שגיאה זו.
-
שים לב לסוגים ולהרכבות שנחסמו.
-
פתח את web.config של יישום האינטרנט שבו ממוקמים רכיבי ה- Web Part או הפתרונות של ארגז החול. הנתיב של web.config נראה בדרך כלל כך:
C:\inetpub\wwwroot\wss\VirtualDirectories\<יציאת יישום> -
הוסף רכיב AllowedListItems במקטע configuration/SharePoint/SafeMode.
-
בתוך הרכיב AllowedListItems , הוסף רכיב AllowedItem עם התכונה Name מוגדרת ל- AllowedSandboxType בתבנית הבאה:
-
כדי לבטל חסימה של סוגים ספציפיים, הוסף רכיבים עם המאפיין סוג באופן הבא: <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>