Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 4249588
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 21, 20262026-05-21T04:25:01+00:00 2026-05-21T04:25:01+00:00

I need to decide on the optimal way to write a C# client application

  • 0

I need to decide on the optimal way to write a C# client application to view the dataset in a number of different views. One, some or all views may be visible at once and must be coherent.
A simplified illustration of the dataset would be something like this, assume around 10000 items.

Dataset illustration

Based on this dataset a number of aggregates must be calculated, such as the sum of values for each ItemId and for each ClientId. The actual calculations are a bit more complicated, but assume that around 30 different aggregates must be calculated.

There will be around 10 clients that will view the data at any one time. Each user will decide if the data is continuously updated or refreshed automatically.

The data is stored in SQL Server 2008 R2 and all clients have access to this directly and are on the same LAN.

The UI needs to be non-blocking, so that new data can be read in the background and the active views refreshed when all aggregates have been calculated.

  1. What architecture/technology/pattern is best suited to this sort of scenario?
  2. Should I use WPF, Windows Forms or Silverlight?
  3. Should the views be pre calculated on the server or should the client do this processing?
  4. Should the client connect directly to the database or via a WCF service?
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-21T04:25:02+00:00Added an answer on May 21, 2026 at 4:25 am

    Unfortunately I think the answer for most of your questions is “It Depends”.

    1 – MVVM makes sense given your requirements of many views of the same sets of data.

    2 – Which technology are you most familiar with now, and what is the timeframe of your application. If you’re very familiar with WinForms and have a tight schedule that makes sense. If you’re not and you have time learn, then Silverlight may make more sense. I’m kind of torn on WPF, since nowadays it seems more like Silverlight++ instead of the other way around. In other words, if you need to do a Line of Business app, pick Silverlight UNLESS theres a requirement that can only be fulfilled with WPF.

    3 – The answer to this question depends on 2 things: How often is the data being updated and how complex/suited to SQL are the calculations. I would generally prefer to handle aggregating on the server side, but depending on the exact calculations you’re performing that may or may not be feasible.

    4 – This will really be made for you depending on your choice of technologies. Silverlight can’t connect to the database directly, so you have to use a service. WinForms and WPF can directly connect to the database. Even so, going with a data access service can help if you find that having every client directly call the database could be a performance issue.

    A lot of these decisions are trade offs, and you might not even know that you’ve traded something until it becomes an issue.

    TLDR: It depends.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

We're contemplating Visual Studio licensing and need to decide whether licenses for Architecture/Database/Test editions
I need to use lists for my program and needed to decide if I
I have decided that I really need to get some flowcharts for reverse engineering
I have decided that all my WPF pages need to register a routed event.
Need a way to allow sorting except for last item with in a list.
need ask you about some help. I have web app running in Net 2.0.
I need to decide whether file name fits to file mask. The file mask
I need to decide on naming conventions for a new website. I can use
I need to know how does svcutil and Visual Studio decide which types can
I`m learning programming languages. And I decide that I need to lear a new

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.