Tworzenie pakietów wsadowych metod
Użyj nagłówki SOAP w Reporting Services umożliwia dołączanie wiele metod usługa sieci Web w pojedynczej operacji.Metody są uruchamiane w ramach zakres transakcji pojedynczej bazy danych, w kolejności, w jakiej są nazywane.
Wycofanie jest jedną z zalet korzystania z wielu -metoda operacje wsadowe.Jeśli wystąpi błąd dla każdego wywołania metoda jest uruchomiona partia serwer raportów przestaje działać partia i wycofuje wszelkich poprzednich operacji.Jest to przydatne, gdy wywołanie metoda zależy od pomyślnego zakończenia wywołań innych metod w danej partia.
Usługa sieci Web nie przewiduje blokowania semantyka metoda wielu partia operacji.Wiersze w baza danych serwera raportów nie są zablokowane aktualizowania aż wiadomość jest wysyłana do serwera i nosi nazwę wykonuje polecenie.
Istnieją również żadnych formantów współbieżność, aby zagwarantować, że baza danych nie zmienił się od czasu ostatniego odczytu danych.Jeżeli dwóch klientów zmodyfikować ten sam przedmiot, jeśli parametry są nadal ważne powiedzie się ostatniej aktualizacji (na przykład element nie została zmieniona).
Poniższym przykładzie wywołuje CreateFolder metoda trzy razy i uruchamia te wywołania jako pojedynczej partia.Jeśli wywołania do CreateFolder awarii całego partia została anulowana.
Imports System
Imports System.Web.Services.Protocols
Imports myNamespace.MyReferenceName
Class Sample
Sub Main(args() As String)
Dim rs As New ReportingService2005()
rs.Credentials = System.Net.CredentialCache.DefaultCredentials
' Set the base Web service URL of the source server
rs.Url = "http://<Server Name>/reportserver/ReportService2005.asmx"
Dim bh As New BatchHeader()
bh.BatchId = service.CreateBatch()
rs.BatchHeaderValue = bh
rs.CreateFolder("New Folder1", "/", Nothing)
rs.CreateFolder("New Folder2", "/", Nothing)
rs.CreateFolder("New Folder3", "/", Nothing)
Console.WriteLine("Creating folders...")
rs.BatchHeaderValue = bh
rs.ExecuteBatch()
Console.WriteLine("Folders created successfully.")
rs.BatchHeaderValue = Nothing
End Sub
End Class
using System;
using System.Web.Services.Protocols;
using myNamespace.MyReferenceName;
class Sample
{
static void Main(string[] args)
{
ReportingService2005 rs = new ReportingService2005();
rs.Credentials = System.Net.CredentialCache.DefaultCredentials;
// Set the base Web service URL of the source server
rs.Url = "http://<Server Name>/reportserver/ReportService2005.asmx"
BatchHeader bh = new BatchHeader();
bh1.BatchID = service.CreateBatch();
rs.BatchHeaderValue = bh;
rs.CreateFolder("New Folder1", "/", null);
rs.CreateFolder("New Folder2", "/", null);
rs.CreateFolder("New Folder3", "/", null);
Console.WriteLine("Creating folders...");
rs.BatchHeaderValue = bh1;
rs.ExecuteBatch();
Console.WriteLine("Folders created successfully.");
rs.BatchHeaderValue = null;
}
}
Zobacz także