Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Du kan få tillgång till hela funktionaliteten i rapportservern via Reporting Services SOAP API. SOAP API är en webbtjänst och kan därför enkelt nås för att tillhandahålla företagsrapporteringsfunktioner till dina anpassade affärsapplikationer. Du kan komma åt webbtjänsten i en Windows-applikation helt enkelt genom att skriva kod som anropar tjänsten. Genom att använda Microsoft .NET Framework kan du generera en proxyklass som exponerar webbtjänstens egenskaper och metoder. Du kan sedan använda en välbekant infrastruktur och verktyg för att bygga affärsapplikationer baserade på Reporting Services-teknologi.
Integrera Rapporthanteringsfunktionalitet med Windows Forms
Till skillnad från URL-åtkomst exponerar SOAP API hela uppsättningen av hanteringsfunktioner som finns tillgängliga via rapport-servern. Detta innebär att hela den administrativa funktionen i Report Manager är tillgänglig för utvecklare via SOAP. Därför kan du utveckla ett komplett hanterings- och administrationsverktyg med hjälp av Windows Forms. Till exempel, i din Windows-applikation kan du vilja tillåta dina användare att hämta innehållet i rapportserverns namnrymd. Du kan använda webbtjänstmetoden ListChildren för att lista alla objekt i rapportserverns databas och sedan använda en Listview-, Treeview- eller Combobox-kontroll för att visa dessa objekt för dina användare. Följande webbtjänstkod kan användas för att hämta den aktuella listan över tillgängliga rapporter i en användares My Reports-mapp när en användare väljer en knapp på ett formulär:
' Button click event that retrieves a list of reports from
' the My Reports folder and displays them in a combo box
Private Sub listReportsButton_Click(sender As Object, e As System.EventArgs)
' Create a new Web service object and set credentials
' to Windows Authentication
Dim rs As New ReportingService2010()
rs.Credentials = System.Net.CredentialCache.DefaultCredentials
' Return the list of items in My Reports
Dim items As CatalogItem() = rs.ListChildren("/Adventureworks Sample Reports", False)
Dim ci As CatalogItem
For Each ci In items
' If the item is a report, add it to
' a combo box
If ci.TypeName = "Report" Then
catalogComboBox.Items.Add(ci.Name)
End If
Next ci
End Sub 'listReportsButton_Click
// Button click event that retrieves a list of reports from
// the My Reports folder and displays them in a combo box
private void listReportsButton_Click(object sender, System.EventArgs e)
{
// Create a new Web service object and set credentials
// to Windows Authentication
ReportingService2010 rs = new ReportingService2010();
rs.Credentials = System.Net.CredentialCache.DefaultCredentials;
// Return the list of items in My Reports
CatalogItem[] items = rs.ListChildren("/Adventureworks Sample Reports", false);
foreach (CatalogItem ci in items)
{
// If the item is a report, add it to
// a combo box
if (ci.TypeName == "Report")
catalogComboBox.Items.Add(ci.Name);
}
}
Därifrån kan du möjliggöra för användare att välja rapporten från Kombinationsrutan och förhandsgranska rapporten i formuläret, antingen med en webbläsarkontroll eller en bildkontroll.
Aktivera rapportvisning och navigering med Windows Forms
Det finns två metoder för att integrera rapporter i dina Windows Forms-applikationer.
Du kan använda SOAP API för att rendera rapporter till något av de stödda renderingsformaten med metoden Render . Det finns små nackdelar med att aktivera rapportering och navigering via SOAP:
Du kan inte utnyttja den inbyggda funktionen i rapportverktygsfältet som ingår i HTML-visaren via URL-åtkomst.
Om du renderar till HTML måste du separat rendera alla bilder eller resurser som extra strömmar med metoden RenderStream .
Det finns en liten prestandafördel med att rendera rapporter med URL-åtkomst jämfört med SOAP API:et.
Dock Render kan metoden med SOAP API användas för att rendera rapporter och spara dem i olika utdataformat programmatiskt. Denna metod är en fördel jämfört med URL-åtkomst, som kräver användarinteraktion. När du renderar en rapport med SOAP API-metoden Render kan du rendera till vilket av de stödda utdataformaten som helst.
Du kan också använda de fritt distribuerbara Report Viewer-kontrollerna som ingår i Microsoft Visual Studio 2008. Report Viewer-kontrollerna gör det enkelt att bädda in Reporting Services-funktionalitet i anpassade applikationer. Rapporteringsvisarens kontroller är avsedda för utvecklare som vill tillhandahålla fördesignade, fullt författade rapporter som en del av en applikationsuppsättning. Till exempel kan en webbplats hanteringsapplikation innehålla rapporter som visar klickströmsanalys på företagswebbplatser. Att bädda in kontrollerna i en applikation ger ett strömlinjeformat alternativ till att inkludera Reporting Services-serverkomponenterna i din applikationsdistribution. Kontrollerna ger rapportfunktionalitet, men utan det extra stödet för rapportskrivning, publicering eller distribution och leverans som du hittar i Reporting Services.
Det finns två versioner av Report Viewer-kontrollerna, en för rika Windows-klientapplikationer och en för ASP.NET-applikationer. Kontrollerna stödjer både lokal bearbetning och fjärrbearbetning. I lokalt bearbetningsläge tillhandahåller din applikation rapportdefinitionen och datamängder och triggar rapportbearbetning. I fjärrbearbetningsläge sker datahämtning och rapportbearbetning på rapportservern och kontrollen används för visning och rapportering. Denna modell gör det möjligt att bygga avancerade applikationer som kan skalas från skrivbord till företag.
Rapporteringsvisarens kontroller dokumenteras i Visual Studio Online Help. För mer information, se Visual Studio-produktdokumentationen.