Share via


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 (系统)

NameDescription 参数是必需的,不应在 Visual Basic) 中设置为 null (Nothing。 的值必须是唯一的 Name

必须向角色分配至少一个任务。 不能在单个角色中合并系统级和项级任务。 有关任务的详细信息,请参阅 任务和权限

适用于