Join Robert Bogue for an in-depth discussion in this video Coping with sandbox limitations, part of Developing SharePoint Full Trust Solutions for SharePoint 2013.
- So the whole point of the sandbox…is to keep things separated.…On the one side, you've got SharePoint code,…and on the other side, you've got customer code,…and never the two shall meet.…You can think about the sandbox…as a way to contain and to monitor your code.…How do you prevent the code from doing something nasty?…And this is done through the user code host.…It's a separate service that runs in SharePoint…and it creates brand-new .Net app domains,…little cages where the code runs, and they're allowed out…to communicate to the page,…and variables are allowed to be sent in.…
This all kind of resembles a jail.…It's a jail for your code.…The problem with the sandbox is…the sandbox doesn't scale super well…because you have all these processes…and you can wait 30 seconds until they die,…and by the way, another 30 if it has trouble killing it off.…So it's very difficult for Microsoft and others to manage…doing sandboxes at any kind of scale.…So the idea of using sandbox solutions has lost favor.…
And Microsoft has moved on to what's now called…
If you've wanted to learn how to develop custom solutions on SharePoint—or you've been told that you need to develop a solution that integrates with SharePoint—this is the training you need. It's quick, to the point, and effective at helping new developers work with SharePoint code.
Robert Bogue shows how to create new web parts, access and update data in SharePoint, work with files, and create SharePoint artifacts: lists and libraries to store data, site-level features, files, etc. He also shows how to create sandbox solutions that do not affect the rest of the server environment, and discusses execution options for solutions, including in-page, quasi-page, and out-of-page execution.
- Define web parts.
- Explain how to interact with a web part.
- Recall how to help determine what declarative code and user code is.
- Identify which object allows you to get data from more than one list.
- Identify what class timer jobs are derived from.
- Recognize different types of event receivers.