ReportingService2005.CreateBatch Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает пакет, который выполняет несколько методов в одной транзакции.
public:
System::String ^ CreateBatch();
public string CreateBatch ();
member this.CreateBatch : unit -> string
Public Function CreateBatch () As String
Возвращаемое значение
Значение типа String
, которое однозначно идентифицирует пакетную операцию.
Примеры
Для компиляции этого примера кода необходимо ссылаться на Reporting Services WSDL и импортировать определенные пространства имен. Дополнительные сведения см. в разделе Примеры компиляции и выполнения кода. В следующем примере кода создаются идентификаторы пакетов для двух новых пакетов вызовов методов веб-службы и выполняются пакеты:
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 bh1 As New BatchHeader()
Dim bh2 As New BatchHeader()
bh1.BatchID = rs.CreateBatch()
rs.BatchHeaderValue = bh1
rs.CreateFolder("New Folder1", "/", Nothing)
rs.CreateFolder("New Folder2", "/", Nothing)
rs.CreateFolder("New Folder3", "/", Nothing)
bh2.BatchID = rs.CreateBatch()
rs.BatchHeaderValue = bh2
rs.DeleteItem("/New Folder1")
rs.DeleteItem("/New Folder2")
rs.DeleteItem("/New Folder3")
rs.BatchHeaderValue = bh1
' Create folders using a batch header 1.
Try
rs.ExecuteBatch()
Console.WriteLine("Folders created successfully.")
Catch e As SoapException
Console.WriteLine(e.Detail.InnerXml.ToString())
End Try
rs.BatchHeaderValue = bh2
' Delete folders using batch header 2.
Try
rs.ExecuteBatch()
Console.WriteLine("Folders deleted successfully.")
Catch e As SoapException
Console.WriteLine(e.Detail.InnerXml.ToString())
Finally
rs.BatchHeaderValue = Nothing
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;
BatchHeader bh1 = new BatchHeader();
BatchHeader bh2 = new BatchHeader();
bh1.BatchID = rs.CreateBatch();
rs.BatchHeaderValue = bh1;
rs.CreateFolder("New Folder1", "/", null);
rs.CreateFolder("New Folder2", "/", null);
rs.CreateFolder("New Folder3", "/", null);
bh2.BatchID = rs.CreateBatch();
rs.BatchHeaderValue = bh2;
rs.DeleteItem("/New Folder1");
rs.DeleteItem("/New Folder2");
rs.DeleteItem("/New Folder3");
rs.BatchHeaderValue = bh1;
// Create folders using a batch header 1.
try
{
rs.ExecuteBatch();
Console.WriteLine("Folders created successfully.");
}
catch (SoapException e)
{
Console.WriteLine(e.Detail.InnerXml.ToString());
}
rs.BatchHeaderValue = bh2;
// Delete folders using batch header 2.
try
{
rs.ExecuteBatch();
Console.WriteLine("Folders deleted successfully.");
}
catch (SoapException e)
{
Console.WriteLine(e.Detail.InnerXml.ToString());
}
finally
{
rs.BatchHeaderValue = null;
}
}
}
Комментарии
В следующей таблице показаны сведения о заголовках и разрешениях для этой операции.
Заголовки SOAP | (Out) ServerInfoHeaderValue |
Необходимые разрешения | Пользователь должен быть администратором базы данных или учетной записью автоматического выполнения. Дополнительные сведения см. в статье Учетная запись выполнения (собственный режим SSRS). |
Идентификатор, возвращаемый методом CreateBatch , используется для группирования или пакетирования последующих вызовов метода веб-службы. Каждый метод, включенный в пакет, должен иметь идентификатор пакета, указанный в заголовке SOAP. Чтобы выполнить пакетные вызовы методов с помощью microsoft платформа .NET Framework, необходимо сначала задать BatchHeaderValue свойству прокси-класса веб-службы сервера отчетов значение, равное BatchHeader значению объекта, содержащего ранее созданный идентификатор пакета.