CreateRole 方法
将新的角色添加到报表服务器数据库。
命名空间: ReportService2005
程序集: ReportService2005(在 ReportService2005.dll 中)
语法
声明
<SoapHeaderAttribute("ServerInfoHeaderValue", Direction := SoapHeaderDirection.Out)> _
<SoapHeaderAttribute("BatchHeaderValue")> _
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CreateRole", RequestNamespace := "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", _
ResponseNamespace := "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", _
Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
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)
[SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)]
[SoapHeaderAttribute("BatchHeaderValue")]
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CreateRole", RequestNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices",
ResponseNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices",
Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
public void CreateRole(
string Name,
string Description,
Task[] Tasks
)
[SoapHeaderAttribute(L"ServerInfoHeaderValue", Direction = SoapHeaderDirection::Out)]
[SoapHeaderAttribute(L"BatchHeaderValue")]
[SoapDocumentMethodAttribute(L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CreateRole", RequestNamespace = L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices",
ResponseNamespace = L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices",
Use = SoapBindingUse::Literal, ParameterStyle = SoapParameterStyle::Wrapped)]
public:
void CreateRole(
String^ Name,
String^ Description,
array<Task^>^ Tasks
)
[<SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)>]
[<SoapHeaderAttribute("BatchHeaderValue")>]
[<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CreateRole", RequestNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices",
ResponseNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices",
Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)>]
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 属性。
注释
The table below shows header and permissions information on this operation.
SOAP Headers |
(In) BatchHeaderValue (Out) ServerInfoHeaderValue |
Required Permissions |
CreateRoles (System) |
The Name and Description parameters are required and should not be set to null Nothing nullptr unit null 引用(在 Visual Basic 中为 Nothing) (Nothing in Visual Basic). The value for Name must be unique.
You must assign at least one task to the role. You cannot combine system-level and item-level tasks within a single role. For more information about tasks, see 任务和权限.
示例
To compile this code example, you must reference the Reporting Services WSDL and import certain namespaces. For more information, see Compiling and Running Code Examples. The following code example uses the CreateRole method to create a user role that has permissions to view folders and reports:
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() );
}
}
}