ReportingService2005.CreateRole(String, String, Task[]) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.