Sunday, March 25, 2012

Accessing Delivery Extension UI WebControls

hi,
We are developing a custom web application that will interact with the
Reporting Services web service (instead of using the ReportManager). I need
to manage subscriptions from my custom web app just like ReportManager does.
I would like to programmatically access the web controls located in each
extension dll (e-mail, fileshare, or my own custom dlls) used to gather
information from the client instead of having to write new ones. I know the
ReportManager accesses these objects (for example, the
PrinterDeliveryUIProvider in the printer delivery sample), so there must be a
way to do this. (Reflection?)
I couldn't find any helpful documentation (might have missed something), and
wondered if anyone knew how the best way to go about this.
Thanks,
MattThe Report Manager obtains the list of the registered UI controls from the
<DeliveryUI> element in the RSWebApplication.config file. Then, it proceeds
by loading dynamically the user control presumably by calling LoadControl().
Since the UI controls implement ISubscriptionBaseUIUserControl the Report
Manager knows how to manipulate them in a standard fashion.
You may find my custom Web Service delivery extension (included in the book
source code) useful to understand how the UI controls work.
--
Hope this helps.
---
Teo Lachev, MVP [SQL Server], MCSD, MCT
Author: "Microsoft Reporting Services in Action"
Publisher website: http://www.manning.com/lachev
Buy it from Amazon.com: http://shrinkster.com/eq
Home page and blog: http://www.prologika.com/
---
"mshumaker" <mshumaker@.discussions.microsoft.com> wrote in message
news:14595C36-8130-481F-8DC9-7C356DF66314@.microsoft.com...
> hi,
> We are developing a custom web application that will interact with the
> Reporting Services web service (instead of using the ReportManager). I
need
> to manage subscriptions from my custom web app just like ReportManager
does.
> I would like to programmatically access the web controls located in each
> extension dll (e-mail, fileshare, or my own custom dlls) used to gather
> information from the client instead of having to write new ones. I know
the
> ReportManager accesses these objects (for example, the
> PrinterDeliveryUIProvider in the printer delivery sample), so there must
be a
> way to do this. (Reflection?)
> I couldn't find any helpful documentation (might have missed something),
and
> wondered if anyone knew how the best way to go about this.
> Thanks,
> Matt|||Ah, that would be the link I was looking for. I focused on obtaining the
info straight from the ReportServer and didn't think of using my own config
file. And after the time I've already spent with the config files while
getting my custom delivery extension to work...
I will also look into the LoadControl() method.
Thanks for your help.
Matt
"Teo Lachev [MVP]" wrote:
> The Report Manager obtains the list of the registered UI controls from the
> <DeliveryUI> element in the RSWebApplication.config file. Then, it proceeds
> by loading dynamically the user control presumably by calling LoadControl().
> Since the UI controls implement ISubscriptionBaseUIUserControl the Report
> Manager knows how to manipulate them in a standard fashion.
> You may find my custom Web Service delivery extension (included in the book
> source code) useful to understand how the UI controls work.
> --
> Hope this helps.
>|||LoadControl() won't work - it loads a UserControl where a control used for a
delivery extension UI is a WebControl.
I'll look into this more - maybe try loading it with reflection.
"mshumaker" wrote:
> Ah, that would be the link I was looking for. I focused on obtaining the
> info straight from the ReportServer and didn't think of using my own config
> file. And after the time I've already spent with the config files while
> getting my custom delivery extension to work...
> I will also look into the LoadControl() method.
> Thanks for your help.
> Matt
>
> "Teo Lachev [MVP]" wrote:
> > The Report Manager obtains the list of the registered UI controls from the
> > <DeliveryUI> element in the RSWebApplication.config file. Then, it proceeds
> > by loading dynamically the user control presumably by calling LoadControl().
> > Since the UI controls implement ISubscriptionBaseUIUserControl the Report
> > Manager knows how to manipulate them in a standard fashion.
> >
> > You may find my custom Web Service delivery extension (included in the book
> > source code) useful to understand how the UI controls work.
> >
> > --
> > Hope this helps.
> >
>|||My bad :-)
Than, it is probably dynamically loading the assembly using Load or LoadFrom
and adding the control to a placeholder, e.g.
PlaceHolder1.Controls.Add(ctrl);
--
Hope this helps.
---
Teo Lachev, MVP [SQL Server], MCSD, MCT
Author: "Microsoft Reporting Services in Action"
Publisher website: http://www.manning.com/lachev
Buy it from Amazon.com: http://shrinkster.com/eq
Home page and blog: http://www.prologika.com/
---
"mshumaker" <mshumaker@.discussions.microsoft.com> wrote in message
news:01BF60A4-B199-4A2C-B494-5741ADAD650E@.microsoft.com...
> LoadControl() won't work - it loads a UserControl where a control used for
a
> delivery extension UI is a WebControl.
> I'll look into this more - maybe try loading it with reflection.
> "mshumaker" wrote:
> >
> > Ah, that would be the link I was looking for. I focused on obtaining
the
> > info straight from the ReportServer and didn't think of using my own
config
> > file. And after the time I've already spent with the config files while
> > getting my custom delivery extension to work...
> >
> > I will also look into the LoadControl() method.
> >
> > Thanks for your help.
> > Matt
> >
> >
> > "Teo Lachev [MVP]" wrote:
> >
> > > The Report Manager obtains the list of the registered UI controls from
the
> > > <DeliveryUI> element in the RSWebApplication.config file. Then, it
proceeds
> > > by loading dynamically the user control presumably by calling
LoadControl().
> > > Since the UI controls implement ISubscriptionBaseUIUserControl the
Report
> > > Manager knows how to manipulate them in a standard fashion.
> > >
> > > You may find my custom Web Service delivery extension (included in the
book
> > > source code) useful to understand how the UI controls work.
> > >
> > > --
> > > Hope this helps.
> > >
> >

No comments:

Post a Comment