#1, Work Processes sandbox solution uses
Execution Manager: Loading and execution of sandboxed solution code
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\UserCode
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\CONFIG\wss_usercode.config
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\UserCode\assemblies
#2, Object model that subset proxy exposes:
■ All of the Microsoft.SharePoint namespace, except
SPSite constructor
SPSecurity object
SPWorkItem and SPWorkItemCollection objects
SPAlertCollection.Add method
SPAlertTemplateCollection.Add method
SPUserSolution and SPUserSolutionCollection objects
SPTransformUtilities object
Microsoft.SharePoint.Navigation namespace
■ All of the Microsoft.SharePoint.Utilities namespace, except
SPUtility.SendEmail method
SPUtility.GetNTFullNameandEmailFromLogin method
SPSite constructor
SPSecurity object
SPWorkItem and SPWorkItemCollection objects
SPAlertCollection.Add method
SPAlertTemplateCollection.Add method
SPUserSolution and SPUserSolutionCollection objects
SPTransformUtilities object
Microsoft.SharePoint.Navigation namespace
■ All of the Microsoft.SharePoint.Utilities namespace, except
SPUtility.SendEmail method
SPUtility.GetNTFullNameandEmailFromLogin method
■ Microsoft.SharePoint.Workflow namespace
■ All of the Microsoft.SharePoint.WebPartPages namespace, except
SPWebPartManager object
SPWebPartConnection object
WebPartZone object
WebPartPage object
ToolPane object
ToolPart object
#3, CAML elements can be used in declarative solutions:
ContentType
CustomAction
Field
ListInstance
ListTemplate
Module
PropertyBag
Receivers
WebTemplate
WorkflowActions
WorkflowAssociation
CustomAction
Field
ListInstance
ListTemplate
Module
PropertyBag
Receivers
WebTemplate
WorkflowActions
WorkflowAssociation
#4, List all blocked APIs in a farm:
SPWebServiceCollection webServices = new SPWebServiceCollection(SPFarm.Local);
foreach (SPWebService service in webServices)
{
foreach (SPObjectModelType type in service.RestrictedObjectModel.RestrictedTypes)
{
Console.WriteLine(type.FullName);
}
}
foreach (SPWebService service in webServices)
{
foreach (SPObjectModelType type in service.RestrictedObjectModel.RestrictedTypes)
{
Console.WriteLine(type.FullName);
}
}