45 lines
1.7 KiB
C#
45 lines
1.7 KiB
C#
namespace EnVisage.Views.Reporting.Controllers
|
|
{
|
|
using System.IO;
|
|
using System.Web;
|
|
using Telerik.Reporting.Cache.File;
|
|
using Telerik.Reporting.Services;
|
|
using Telerik.Reporting.Services.WebApi;
|
|
|
|
//The class name determines the service URL.
|
|
//ReportsController class name defines /api/report/ service URL.
|
|
public class ReportsController : ReportsControllerBase
|
|
{
|
|
static ReportServiceConfiguration configurationInstance;
|
|
|
|
static ReportsController()
|
|
{
|
|
//This is the folder that contains the XML (trdx) report definitions
|
|
//In this case this is the Reports folder
|
|
var appPath = HttpContext.Current.Server.MapPath("~/");
|
|
var reportsPath = Path.Combine(appPath, "Reports");
|
|
|
|
//Add resolver for trdx report definitions,
|
|
//then add resolver for class report definitions as fallback resolver;
|
|
//finally create the resolver and use it in the ReportServiceConfiguration instance.
|
|
var resolver = new ReportFileResolver(reportsPath)
|
|
.AddFallbackResolver(new ReportTypeResolver());
|
|
|
|
//Setup the ReportServiceConfiguration
|
|
configurationInstance = new ReportServiceConfiguration
|
|
{
|
|
HostAppId = "Html5App",
|
|
Storage = new Telerik.Reporting.Cache.File.FileStorage(Path.Combine(appPath, "telerikCache")),
|
|
ReportResolver = resolver,
|
|
// ReportSharingTimeout = 0,
|
|
// ClientSessionTimeout = 15,
|
|
};
|
|
}
|
|
|
|
public ReportsController()
|
|
{
|
|
//Initialize the service configuration
|
|
this.ReportServiceConfiguration = configurationInstance;
|
|
}
|
|
}
|
|
} |