Langue

ReportingService2005.CreateRole(String, String, Task[]) Méthode

Définition

Ajoute un nouveau rôle à la base de données du serveur de rapports.

public:
 void CreateRole(System::String ^ Name, System::String ^ Description, cli::array <ReportService2005::Task ^> ^ Tasks);
public void CreateRole(string Name, string Description, ReportService2005.Task[] Tasks);
member this.CreateRole : string * string * ReportService2005.Task[] -> unit
Public Sub CreateRole (Name As String, Description As String, Tasks As Task())

Paramètres

Name
String

Le nom du nouveau rôle. La valeur de ce paramètre doit être comprise entre 1 et 260 caractères.

Description
String

Une description du nouveau rôle. La valeur de ce paramètre doit être comprise entre 1 et 512 caractères.

Tasks
Task[]

Un tableau d’objets Task représentant les tâches à définir pour le rôle. Seule la TaskID propriété de l’objet Task est soumise pour créer un rôle.

Exemples

Pour compiler cet exemple de code, vous devez référencer le WSDL de Reporting Services et importer certains espaces de noms. Pour plus d’informations, voir Exemples de compilation et exécution de code. L’exemple de code suivant utilise la CreateRole méthode pour créer un rôle utilisateur qui a des permissions pour visualiser des dossiers et des rapports :

Imports System  
Imports System.Web.Services.Protocols  

Class Sample  
   Public Shared Sub Main()  
      Dim rs As New ReportingService2005()  
      rs.Credentials = System.Net.CredentialCache.DefaultCredentials  

      Dim name As String = "Report Browser"  
      Dim desc As String = "View folders and reports."  
      Dim setTasks(2) As Task  
      setTasks(0) = New Task()  
      setTasks(1) = New Task()  
      setTasks(2) = New Task()  

      Try  
         Dim returnedTasks As Task() = rs.ListTasks()  

         Dim t As Task  
         For Each t In  returnedTasks  
            If t.Name = "View reports" Then  
               setTasks(0) = t  

            Else  
               If t.Name = "View folders" Then  
                  setTasks(1) = t  

               Else  
                  If t.Name = "View resources" Then  
                     setTasks(2) = t  
                  End If  
               End If  
            End If   
         Next t  
         rs.CreateRole(name, desc, setTasks)  

      Catch e As SoapException  
         Console.WriteLine(e.Detail.InnerXml.ToString())  
      End Try  
   End Sub 'Main  
End Class 'Sample  
using System;  
using System.Web.Services.Protocols;  

class Sample  
{  
   public static void Main()  
   {  
      ReportingService2005 rs = new ReportingService2005();  
      rs.Credentials = System.Net.CredentialCache.DefaultCredentials;  

      string name = "Report Browser";  
      string desc = "View folders and reports.";  
      Task[] setTasks = new Task[3];  
      setTasks[0] = new Task();  
      setTasks[1] = new Task();  
      setTasks[2] = new Task();  

      try  
      {  
         Task[] returnedTasks = rs.ListTasks();  

         foreach( Task t in returnedTasks )  
         {  
            if ( t.Name == "View reports" )  
            {  
               setTasks[0] = t;  
            }  

            else if ( t.Name == "View folders" )  
            {  
               setTasks[1] = t;  
            }  

            else if ( t.Name == "View resources" )  
            {  
               setTasks[2] = t;  
            }  
         }  

         rs.CreateRole( name, desc, setTasks );  
      }  

      catch ( SoapException e )  
      {  
         Console.WriteLine( e.Detail.InnerXml.ToString() );  
      }  
   }  
}  

Remarques

Le tableau ci-dessous présente les informations sur l’en-tête et les autorisations concernant cette opération.

En-têtes SOAP (En) BatchHeaderValue

(Dehors) ServerInfoHeaderValue
Autorisations requises CreateRoles (Système)

Les Name paramètres et Description sont requis et ne doivent pas être définis à null (Nothing dans Visual Basic). La valeur de Name doit être unique.

Vous devez assigner au moins une tâche à ce rôle. Vous ne pouvez pas combiner les tâches au niveau système et au niveau objet dans un même rôle. Pour plus d’informations sur les tâches, voir Tâches et permissions.

S’applique à