Anyone experiencing slow WPF application with RDLC reports? - wpf

I have an WPF application for 60 users tops.
Some of they are cashier users, and I use RDLC reports to show customer orders.
The problem is, users are telling that application is getting slow or hanging.
This WPF application uses most up-to-date Enterprise Library. Connection pooling is handled by default, there's no customization.
RDLC files use dataset XSD files. XSD files use database stored procedures to select data.
On xsd files used by RDCL I have something like:
Data Source=Junior-PC;Initial Catalog=FoodAndBeverage;Persist Security Info=True;User ID=sa;Password=mypass
On c# code-behind, the static connection string:
Data Source=Junior-PC;Initial Catalog=FoodAnBeverage;User ID=sa;Password=mypass;Connection Timeout=4
Every 30 seconds I also have a DispatcherTimer to check if Database Server IP is found.
Anyone having similar problems regarding this slow WPF application issue using RDLC? Would it be a problem with WindowsFormsHost getting slow, which shows RDLC reports?
What could I do to speed up?

While I was looking for a solution of another problem of reportviewer (rdlc), I've seen a remark of Brian Hartman, that the report viewer 2010 has a fix for some memory issues. Googling about memory leaks showed me among others this post:
http://social.msdn.microsoft.com/forums/en-US/vsreportcontrols/thread/d21f8b56-3123-4aff-bf84-9cce727bc2ce
Please note that using ReportViewer 2010 has currently some compatibility-problems (and a new rdlc-format). Test it before using.

Related

RenderTargetBitmap renders empty images

Here's the situation: I have an ASP.NET Web Forms application which uses WPF controls for reporting.
Process is the following: Create WPF controls and bind to data -> create image from WPF control -> use generated image to create PDF reports.
I'm using RenderTargetBitmap to render bitmaps from WPF controls. Issue is when I run all this on my local machine (Windows 10) it works, as soon as application is deployed on QA machine (Windows Server 2008 R2) it generates empty images.
I tried to simplify reporting page, by leaving only static text on the WPF control, still I get empty page.
I created sample console application which mimics part of binding data to WPF (granted static data) and generating image from WPF control & it works on both environments. One difference I can think of is the console application is not running as IIS' AppPoolIdentity, which runs the Web Application on the QA machine.
I came across this SO post which suggests there was a Windows Update that caused similar issue. Our QA machine is Azure VM, so updates are installed regularly. Update that caused the issue is from September 2017, having fix update out in October 2017. So I rulled out windows update causing the issue.
Also in the referenced SO post, OP suggests that this issue happens only if account running the code is System account
It ONLY doesn't work if run under high privilege SYSTEM account (e.g. from Task scheduler).
I tried this as well, having Task Scheduler running the sample console app, but as I mentioned above it successfully created the image.
So at this moment I'm pretty much out of ideas.
The application code that is supposed to generate images is scattered so I'm not sharing it here, but if any piece is of particular interest happy to post.
Any idea what can cause this different behavior in diff. environments ?
It turns out ruling out missing Windows Update was not the right thing to do.
At the end I installed the fix windows update and issue was solved.

LINQ to SQL and Silverlight 5 saving edited records throws exceptions

I've been ruining Christmas with this problem. We have this website which was BUILT using Silverlight 4 and clients have asked us to upgrade it to Silverlight 5. I had first encountered a problem during deployment in azure due to RIA related DLLs not being published to web folder because CopyLocal values were set to false causing azure deployment to be aborted. So we had solve this by simply setting CopyLocal values to true. But luckily we had encountered a much more rare problem finding out that all entities in our project which uses DBML files turns our screen to pure white whenever updating records.
After two days of hard time which included a painful christmas.. We had fix this problem(THANK YOU LORD). Thanks to these link http://forums.silverlight.net/t/234553.aspx/1

Report viewer control for VB.Net1.1

Good morning fellow stack overflow people, I have a question that sounds like the start of something from the daily wtf.
The company that I work for is not so much sacred of new technology they just seem to let things slip, you know the type, “It worked 5/6+ years ago so I don’t see why we should change it”
Despite this I have managed by hook or by crook to get an installation of SQL server 2008R2 to develop on which has the reporting services. Excellent I think, I can finally start moving some of the access applications to VB.net and use SSRS to provide some embedded reports, everyone is happy.
But not so fast, it turns out the standard build of desktop here only has .net1.1. I have managed to dust off a copy of visual studio 2003 (The last edition that could target 1.1) and built a few little tests to check DB connectivity. The problem I am having is the report viewer control is only available in .net2.0 and above.
So what options do I have for displaying my SSRS reports in a VB.net1.1 thick client application?
Before anyone asks the following options are out
Going anything web based (Farrrrrrrrrr too modern for the company + no web server)
Upgrading to a version of .net released after George Bush the 2nd lost an election but still became president
Changing jobs
Sorry for the long question but I thought some background would help
I would go for a browser control but I think they only started including that in 2.0. But I think you can still do something like that in 1.1 (it has been to long to be sure).
I think if you install SSRS on the sqlserver you could turn on IIS on that server and then use that to make your reports and show them in the browser control.
SSRS (I'm pretty sure it came out somewhere around 2005) is not old enough to have many other options.
If you work with VB.NET 1.1 all the time then it is strange question. How did you program in it before?
Use any available dataview control (I already do not remember - DataGrid, DataList, Repeater) from .NET1.1. There is nothing in ReportViewer that could not be done before its appearance, in .NET1.1.
What is the problem?
Update:
I remember seeing code projects reproducing ReportViewer in .NET1.1 few years ago though I cannot find it now. Anyway, it seems to me the problem of just reading .NET1.1 docs and searching internet.
Sorry if this is a blunt statement but sometimes, you've got to bite the bullet and do the right thin.
If you really want to use reports and you've found the minimum version of the .NET framework is 2.0 then go ahead, find an internet connection somewhere and upgrade the computers.
If you can't do that, forget about it and go back to your VB6 or whatever you're using. Besides, .NET Framework 2.0 sp1 is less than 30MB. If you can't find a decent internet connection (either at your workplace or somewhere else) to download it then you might as well abandon it.
And I'll add as well. VS2003 IS OLD! Get yourself minimum VS2005, even if it's Express edition, it's good enough and stop whining.
Someone had the same question back in Feb. Maybe this might send you down the right path:
Using SSRS in ASP.NET 1.1

Report with WPF and EF in VS 2010

I need to quickly build a report. In VS 2010 when I'm adding new item in the 'Reporting' brach there are 3 items:
Report Wizard;
Report;
and
Crystal Report
I tried to play with the first one - couldn't find a way to get the data through existing entity model. Also I stupidly confused what's the real difference between 'Report' and 'crystal Report'?
Could you guys point me out at some walkthrough tutorial or something about how to build a simple report using these things?
Thank you.
Here's the Microsoft link regarding the wizard:
http://msdn.microsoft.com/en-us/library/bb558709.aspx
One is a Reporting Services report and the other is Crystal Reports. Two completely different models.

SQL Reporting Services 2005 vs WPF Fixed Document Control

In my project i have used WPF and am following MVVM pattern. So i have a report module in my project and the reports are just plain reports. So i would like to know should i use SQL Reporting Service 2005 to create reports and then use report viewer as client or should i go for WPf Fixed Document Control- Document viewer.
Can anyone please tell me which of these will be easier to integrate with my project.
Please reply
Thanks
Sharath
WPF Document (Fixed or Flow)
Pros:
Easier to integrate. All is included in regular WPF
Native
More control on the output
Cons:
Must program a lot for a multi-page report
Must program a lot for headers, footes, groups, etc.
SQL Reporting Services
Pros:
Mature tools
Interoperable with other solutions (IE asp.net)
Groups, totals, page headers, graphics built in
Cons:
Not native, must use a embedded windows form control
Must deploy the reporting service runtime separately (not good for click-once apps)
Hard to integrate to your business objects

Resources