Sonrai.ExtRS
1.0.0
See the version list below for details.
dotnet add package Sonrai.ExtRS --version 1.0.0
NuGet\Install-Package Sonrai.ExtRS -Version 1.0.0
<PackageReference Include="Sonrai.ExtRS" Version="1.0.0" />
paket add Sonrai.ExtRS --version 1.0.0
#r "nuget: Sonrai.ExtRS, 1.0.0"
// Install Sonrai.ExtRS as a Cake Addin #addin nuget:?package=Sonrai.ExtRS&version=1.0.0 // Install Sonrai.ExtRS as a Cake Tool #tool nuget:?package=Sonrai.ExtRS&version=1.0.0
ExtRS
ExtRS is a .NET class library for extending the capabilities of Reporting Services, among other things. With ExtRS, (pronounced "extras"), common public API endpoints and SDK clients are consolidated into a utility .dll containing features that can compliment your .NET development. ExtRS also contains a simplified interface to the SSRS v2 API for programmatically managing SSRS catalog item types (CatalogItem, Report, DataSource, DataSet, etc.).
SSRS ain't dead- it's just a niche tool that hasn't fully realized its potential- yet. 🤷♂️
Requirements
This plug-in works as a drop-in Nuget package for .NET projects as well an SSRS Custom Assembly as described by Microsoft here: https://docs.microsoft.com/en-us/sql/reporting-services/custom-assemblies/using-custom-assemblies-with-reports?view=sql-server-ver15
Contents
This package includes the following components:
- Sonrai.ExtRS.dll
Examples
[TestInitialize]
public async Task InitializeTests()
{
httpClient = new HttpClient();
SSRSConnection connection = new SSRSConnection("localhost", "ExtRSAuth",
AuthenticationType.ExtRSAuth);
connection.SqlAuthCookie = await SSRSService.GetSqlAuthCookie(httpClient,
connection.Administrator, "", connection.ServerName);
ssrs = new SSRSService(connection);
}
[TestMethod]
public async Task CreateGetDeleteReportSucceeds()
{
string content = ssrsReportItemJsonString; // ie: { "@odata.type": "#Model.Report", "id":...
var postResp = await ssrs.CallApi("POST", "Reports", "{" + content + "}");
Assert.IsTrue(postResp.IsSuccessStatusCode);
var getResponse = await ssrs.CallApi("GET", postResp.Headers.Location.Segments[4]);
Assert.IsTrue(getResponse.IsSuccessStatusCode);
var deleteResp = await ssrs.CallApi("DELETE", postResp.Headers.Location.Segments[4]);
Assert.IsTrue(deleteResp.IsSuccessStatusCode);
}
public SSRSService(SSRSConnection connection)
{
conn = connection;
client = new HttpClient();
cookieContainer.Add(new Cookie("sqlAuthCookie", conn.SqlAuthCookie, "/", "localhost"));
serverUrl = string.Format("https://{0}/reports/api/v2.0/", conn.ServerName);
}
Related SSRS Tools
- ExtRSAuth for enabling further extension of the SSRS Microsoft Custom Security Sample.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net7.0
- Dapper (>= 2.0.143)
- GoogleMaps.LocationServices (>= 1.2.0.5)
- Microsoft.Extensions.Configuration.Abstractions (>= 7.0.0)
- Newtonsoft.Json (>= 13.0.3)
- NLog (>= 5.2.0)
- RestSharp (>= 110.2.0)
- System.Data.SqlClient (>= 4.8.5)
- System.Runtime (>= 4.3.1)
- System.Runtime.Caching (>= 7.0.0)
- System.Runtime.CompilerServices.Unsafe (>= 6.0.0)
- System.Runtime.Extensions (>= 4.3.1)
- System.Text.Json (>= 7.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.