Procédure : Utilisation de l'étendue conditionnelle
Dernière modification : lundi 22 août 2011
S’applique à : SharePoint Foundation 2010
Disponible dans SharePoint Online
Pour une exécution conditionnelle du code, utilisez la classe ConditionalScope pour définir les conditions. Si les conditions sont réunies, la méthode StartScope() de cette classe spécifie l'action à réaliser, et sa propriété TestResult contient le résultat des tests des conditions.
L'exemple suivant extrait et affiche le titre d'un type de modèle de liste spécifique pour une collection de listes, du moment que la liste existe et que l'utilisateur actuel a les autorisations requises pour gérer les listes.
Notes
Le modèle d'objet ECMAScript (JavaScript, JScript) n'inclut pas d'équivalent pour la classe ConditionalScope dans les modèles d'objet .NET managé 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
Voir aussi
Concepts
Procédure : Utiliser l'étendue de gestion des exceptions
Tâches courantes de programmation