Hi Pierre and everyone ,i just got time after we shipped the release to the client , i thought i should share some bits of my implementation. I had to use callcontext to store my NHibernate session on the server side. For storing user identity i implemented a custombinding with a messageInspector on the client side that adds a header (containing user identity) before sending request to the ReportService.svc WCF service.
//Client - implement IReportServiceClientFactory on the usercontrol hosting the reportviewer
public partial class ReportView : UserControl, IReportServiceClientFactory
FacesheetReportViewer.ReportServiceClientFactory = this;
//Create method for ReportServiceClient
public ReportServiceClient Create(Uri remoteAddress)
var binding = new BasicHttpMessageInspectorBinding(new MyCustomMessageInspector());
var address = new EndpointAddress(ReportViewer.EnsureAbsoluteUri(remoteAddress));
var client = new ReportServiceClient(binding,address);
In the reports library on the server side , only place i could find to get the identity header was in the constructor of my report component. I was able to access OperationContext here like:
string identity = OperationContext.Current.IncomingMessageHeaders.GetHeader<string>("IdentityHeader", "");
@Pierre . I am afraid you will have to add the wcf service as mentioned in the documentation. Telerik reporting does not have out of the box support for RIA.