ReportingService2005.CreateRole(String, String, Task[]) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Добавляет новую роль в базу данных сервера отчетов.
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())
Параметры
- Name
- String
Имя новой роли. Значение этого параметра должно иметь длину от 1 до 260 символов.
- Description
- String
Описание новой роли. Значение этого параметра должно иметь длину от 1 до 512 символов.
- Tasks
- Task[]
Массив объектов Task, представляющий задачи, которые следует задать для роли. Для создания роли передается только свойство TaskID объекта Task.
Примеры
Чтобы скомпилировать этот пример кода, необходимо сослаться на Reporting Services WSDL и импортировать определенные пространства имен. Дополнительные сведения см. в разделе Примеры компиляции и выполнения кода. В следующем примере кода метод используется CreateRole для создания роли пользователя, которая имеет разрешения на просмотр папок и отчетов:
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() );
}
}
}
Комментарии
В следующей таблице показаны сведения о заголовках и разрешениях для этой операции.
Заголовки SOAP | (In) BatchHeaderValue (Out) ServerInfoHeaderValue |
Необходимые разрешения | CreateRoles (Система) |
Параметры Name
и Description
являются обязательными и не должны иметь значение null
(Nothing
в Visual Basic). Значение для Name
должно быть уникальным.
Роль должна быть назначена по крайней мере одна задача. Задачи системного уровня и уровня элементов нельзя сочетать в одной роли. Дополнительные сведения о задачах см. в разделе Задачи и разрешения.