語言

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 標頭 (在) BatchHeaderValue

(出局) ServerInfoHeaderValue
必要權限 CreateRoles (系統)

Name和Description參數是必須的,且不應設定為null(Nothing在 Visual Basic 中)。 的 Name 值必須是唯一的。

你必須至少指派一項任務給該職位。 你無法在同一角色中同時執行系統層級和項目層級任務。 欲了解更多任務資訊,請參閱 任務與權限。

適用於