这里只是一个澄清我疑惑的问题!
我使用Visual Studio 2010 for SharePoint 2010创建了一个Sandbox解决方案。
解决方案只包含一个列表实例,当部署该功能时,会在该站点上创建一个列表。
现在,我还希望在停用此功能时删除该列表。
我在下面的EventReceiver.cs中编写了代码。
public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
{
using (SPSite site = new SPSite("http://sitecollection"))
{
SPWeb web = site.RootWeb;
SPList list = web.Lists["listname"];
list.Delete();
list.Update();
web.Update();
}
}
虽然这确实删除了功能停用的列表,但我的问题是,
为什么这个项目仍然是一个沙盒解决方案(没有dll部署到GAC),因为它包含服务器端&和文件背后的代码?
谢谢,
图莎尔
答案 0 :(得分:1)
Sandbox解决方案可以使用服务器端代码。不同之处在于代码在服务器上的单独Windows服务中运行,而不是在w3wp进程或owstimer中运行。成本是您无法访问所有服务器端功能(例如,您无法使用沙盒解决方案部署计时器作业)。您可以阅读有关沙箱解决方案here的更多信息。