What are the limits of WebForms?


I'm a C# developer with no experience yet with WebForms, just C# Window programs and C# web services.  So I'm looking for help to answer this question so I can more properly size the project I'm working on.

I need a thin client (browser only) into which I will code some compute intensive functionality which will allow the client to have near real-time response time.  There will be various controls, such as list boxes, radio buttons, and the like, with which the user will interact.  But because the user's time will be extremely limited, the time lost by sending to, and receiving from, a server over the web will render the interface useless.  So I'd like to build in lots of intelligence into the client (via webforms?), which will include not only the logic which is needed to inter-relate the controls, but a good amount optimization code (2,000-5,000 lines of C#) as well.  Plus there may be several megabytes of data needed as well.

Is this something I can do with webforms?  If not, is there another .NET technology I can use?  If webforms is the right technology, what limits are there, as far as the amount of code I can use, or the amount of data I can use?

Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

It does not matter what technology you are using for Web applications. The idea is always that you have some code on the server (C# for example) which executes and creates as a result a HTML page which it sends to the browser of the client. The page reaches the browser and the server forgets about this client. Everything that happens in the browser is actually on the client machine. It can use several technologies there:
- JavaScript
- VB Script
- ActiveX controls
JavaScript is the most used one. VB Script is supported only by IE (I think) and is not so widely used. ActiveX controls can be written in C, C++, C#, VB, etc. but they have a lot of security issues (they have full control just as Windows applications). Because of this and the fact that they are supported only on Windows, they are not preferred and are even disabled on a lot of machines.

So for your case: if you have megabytes of data which you have to process and you need such huge codes (2000-5000 lines C# code), I think you should change your strategy. You will have to make every computation on the server and just send results (UI) to the user. The WebForms in C# are just a convenient way to execute things on the server, but the result should be always a HTML page with some kind of script. This script will not have access to your huge data and is very limited (no libraries, no strong typing, etc.)

Once again: I think C# and .Net are the right technology for you. You will not be able to achive any better results with whichever other technology, as they all have to produce HTML files with scripts at the end.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.