Procedimiento para usar el ámbito condicional
Última modificación: lunes, 22 de agosto de 2011
Hace referencia a: SharePoint Foundation 2010
Disponible en SharePoint Online
Para ejecutar código condicionalmente, use la clase ConditionalScope para establecer las condiciones. Si se cumplen las condiciones, el método StartScope() de esta clase especifica qué acción se debe llevar a cabo y su propiedad TestResult contiene los resultados de las pruebas de las condiciones.
En el siguiente ejemplo se recupera y se muestra el título de un tipo de plantilla de lista específico para una colección de sitios, siempre y cuando la lista exista y el usuario actual disponga de permisos para administrar listas.
Nota
El modelo de objetos de ECMAScript (JavaScript, JScript) no incluye un equivalente para la clase ConditionalScope de los modelos de objetos administrado por .NET y de Silverlight.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint.Client;
namespace Microsoft.SDK.SharePointServices.Samples
{
class Program
{
static void Main(string[] args)
{
ClientContext clientContext = new ClientContext("http://MyServer/sites/MySiteCollection");
Web oWebsite = clientContext.Web;
List oList = oWebsite.GetCatalog(ListTemplateType.WebPartCatalog);
BasePermissions permissions = new BasePermissions();
permissions.Set(PermissionKind.ManageLists);
ConditionalScope scope = new ConditionalScope(
clientContext,
() => oList.ServerObjectIsNull.Value != true
&& oWebsite.DoesUserHavePermissions(permissions).Value == true);
using (scope.StartScope())
{
clientContext.Load(oList,
list=>list.Title);
}
clientContext.ExecuteQuery();
Console.WriteLine(scope.TestResult.Value);
if (scope.TestResult.Value)
{
Console.WriteLine(oList.Title);
}
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Text
Imports Microsoft.SharePoint.Client
Imports SP = Microsoft.SharePoint.Client
Namespace Microsoft.SDK.SharePointServices.Samples
Class Program
Public Shared Sub Main()
Dim clientContext As New ClientContext("http://MyServer/sites/MySiteCollection")
Dim oWebsite As Web = clientContext.Web
Dim oList As List = oWebsite.GetCatalog(ListTemplateType.WebPartCatalog)
Dim permissions As New BasePermissions()
permissions.Set(PermissionKind.ManageLists)
Dim scope As New ConditionalScope(clientContext, _
Function() oList.ServerObjectIsNull.Value <> True _
AndAlso oWebsite.DoesUserHavePermissions(permissions).Value = True)
Using scope.StartScope()
clientContext.Load(oList, Function(list) list.Title)
End Using
clientContext.ExecuteQuery()
Console.WriteLine(scope.TestResult.Value)
If scope.TestResult.Value Then
Console.WriteLine(oList.Title)
End If
End Sub
End Class
End Namespace
Vea también
Conceptos
Procedimiento para usar el ámbito de manipulación de excepciones
Tareas comunes de programación