We had to generate and show some reports (crystal reports) from Sliverlight application (MS Sliverlight 4.0 + ESRI SL 2.1) . Currently we are sending parameters as query string to server and parsing them server side and generating reports.
1. Passing string as query string has limitation of string length 2. Security aspect 3. my customer does not want to open report in new tab. He wants in main page .
How do I go about?. Please suggest best possible design featuring above 3 requirements
I won't claim its the best possible design, but I would just create a WCF service endpoint to do this. You can pass any type of object that way, and if you desire you can encrypt the parameters.
Thanks for your suggestion. I aware I can use WCF service but we have nearly 50+ reports with different parameters. Again encrypting/decrypting would be additional overhead and again need to maintain services going forward. Moreover we do not have enough time with us.
The simplest and fastest way to set up a service is to use WCF RIA Services and create a domain service. You can tag any operation with attributes like [RequiresAuthentication] and [RequiresRole("Admin")]. You can use ASP.NET forms authentication (or, if you're brave, Integrated Windows authentication) to secure all your endpoints. It's extremely easy to get up and running with this technology.