I would love to be able to use the Web Service binding for my RadScheduler. But like many, I need to display user-specific information in the RadScheduler and the provider model appears to offer no "hooks" to allow this
Consider the GetAppointments method. The examples given mandate the following:
where the Controller is a facade for my custom SchedulerProvider.
In my application, the appointments returned vary according to who is making the call. I'm using ASP.NET forms authentication and I can discover who is calling the webservice by specifying the EnableSession attribute, e.g.
But there appears to be no way I can pass the callerName identifier in the web service to the GetAppointments(RadScheduler radScheduler) method of my provider. But my custom provider needs this information in order to retrieve the correct appointments for the given caller.
Have I missed something simple (highly likely)? Or is the provider model broken here?
Consider the GetAppointments method. The examples given mandate the following:
[WebMethod] |
public IEnumerable<AppointmentData> GetAppointments(SchedulerInfo schedulerInfo) |
{ |
return Controller.GetAppointments(schedulerInfo); |
} |
In my application, the appointments returned vary according to who is making the call. I'm using ASP.NET forms authentication and I can discover who is calling the webservice by specifying the EnableSession attribute, e.g.
[WebMethod(EnableSession = true)] |
public IEnumerable<AppointmentData> GetAppointments(SchedulerInfo schedulerInfo) |
{ |
string callerName = Context.User.Identity.Name; // I can obtain the caller, but how can I make use of it? |
return Controller.GetAppointments(schedulerInfo); |
} |
But there appears to be no way I can pass the callerName identifier in the web service to the GetAppointments(RadScheduler radScheduler) method of my provider. But my custom provider needs this information in order to retrieve the correct appointments for the given caller.
Have I missed something simple (highly likely)? Or is the provider model broken here?