ReportingService2005.CreateRole メソッド
新しいロールをレポート サーバー データベースに追加します。
名前空間: ReportService2005
アセンブリ: ReportService2005 (ReportService2005.dll)
構文
'宣言
Public Sub CreateRole ( _
Name As String, _
Description As String, _
Tasks As Task() _
)
'使用
Dim instance As ReportingService2005
Dim Name As String
Dim Description As String
Dim Tasks As Task()
instance.CreateRole(Name, Description, _
Tasks)
public void CreateRole(
string Name,
string Description,
Task[] Tasks
)
public:
void CreateRole(
String^ Name,
String^ Description,
array<Task^>^ Tasks
)
member CreateRole :
Name:string *
Description:string *
Tasks:Task[] -> unit
public function CreateRole(
Name : String,
Description : String,
Tasks : Task[]
)
パラメーター
- Name
型: System.String
新しいロールの名前です。 このパラメーターの値の長さは、1 ~ 260 文字までです。
- Description
型: System.String
新しいロールの説明です。 このパラメーターの値の長さは、1 ~ 512 文字までです。
- Tasks
型: array<ReportService2005.Task[]
ロールに設定するタスクを表す Task オブジェクトの配列です。 ロールを作成するために送信されるのは、Task オブジェクトの TaskID プロパティだけです。
説明
次の表に、この操作に関連するヘッダーおよび権限の情報を示します。
SOAP ヘッダー |
(In) BatchHeaderValue (Out) ServerInfoHeaderValue |
必要な権限 |
CreateRoles (システム) |
Name パラメーターと Description パラメーターは必須ですが、nullNULL 参照 (Visual Basic では Nothing) (Visual Basic では Nothing) を設定することはできません。 Name の値は一意である必要があります。
ロール内で少なくとも 1 つのタスクを割り当てる必要があります。 単一ロール内でシステムレベルのタスクとアイテムレベルのタスクを組み合わせることはできません。 タスクの詳細については、「タスクと権限」を参照してください。
使用例
このコード例をコンパイルするには、Reporting Services の WSDL を参照し、特定の名前空間をインポートする必要があります。 詳細については、「Compiling and Running Code Examples」を参照してください。 次のコード例では、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() );
}
}
}