我试图证明您可以在线使用SharePoint的完整信任代理。如果你看一下 spproxyoperation 在MSDN上,您会看到小笔记说 Available In SharePoint Online 在大会名称下。太好了,很棒!

但是现在我应该如何在用户代码服务上注册代理?我可以找到的所有示例(指的是本地环境),部署农场解决方案并运行以下代码:

public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
    SPUserCodeService userCodeService = SPUserCodeService.Local;
    if (userCodeService != null)
    {
        string assemblyName = this.GetType().Assembly.FullName;
        SPProxyOperationType SendEmailOperation = new SPProxyOperationType(assemblyName, typeof(SendEmailProxy).FullName);
        userCodeService.ProxyOperationTypes.Add(SendEmailOperation);
        userCodeService.Update();
    }
    else { throw new ApplicationException("User Code Service not running."); }
}

好吧,问题非常简单。看一看 spusercodeservice的文档,它确实 不是 状态 Available In SharePoint Online. 。如果是这种情况,我应该如何注册我的代理,这显然是(根据MSDN)支持的。

有帮助吗?

解决方案

答案很简单。您无法注册自定义操作,但是如果Microsoft创建并发布了这些操作,则可以在沙箱中使用它们。

其他提示

当然,Wictor是正确的。这是确切的位置 MSDN 陈述的地方:

由于必须由农场管理员作为农场解决方案部署具有全面信任的代理操作的组件,因此当无法选择农场时,不能使用此技术,例如,当您的解决方案被部署到Microsoft SharePoint Online时。 [...

因此,我想您必须使用SP客户端对象模型和/或Silverlight。

许可以下: CC-BY-SA归因
scroll top