Windows Application to Web Application

I currently have 2 apps for a customer service system.

A server app which runs a WCF service and contains the business logic, stores data to sql server for reporting, etc..

A client app, run on several PCs, which is used by all service agents for logging service info and monitoring service statistics (e.g. total clients).

Now, I am thinking of developing a web app version of the client app so that it will be platform independent. But since I have zero experience on ASP.NET, I am hoping somebody give me an overview on how to do this.

1. Do I create a single global connection from the web server to the WCF server (if that is possible) and keep it connected all the time? Or do I create a new WCF client for each "client/user"?

2. In the orig app, I use callbacks to all the client apps to notify the client of any updates (on the statistical data). Is this also possible in ASP.NET or do I create a timer to regularly check updates from the web server?

3. Since the users and roles are handled by the WCF server, the authentication will also be done on the WCF server.  How will the WCF server keep track of which users are already authenticated? Through the sessionID?

P.S. I just need an overview on how the web app should work. I can ask the details (codes) on another question later.
I am a complete newbie on ASP.NET so feel free to correct me on any misconceptions I might have.
LVL 22
Who is Participating?
Bob LearnedConnect With a Mentor Commented:
The ASP.NET platform has a different set of concerns from Windows Forms.  You need to be very mindful of memory usage, performance, security, and resource usage.

Web services can be great, but they can also be a bottle neck, if not managed correctly.  For scaleability, it is usually not good form to keep a connection open, so I would keep that in mind.  It should be possible to have a single connection by session.  I am not sure about WCF callbacks, as the page life-cycle, and the timing of things is pretty important with ASP.NET, but I wouldn't rule it out completely.  That could be a topic for research.
Bob LearnedConnect With a Mentor Commented:
1) What time frame do you have for this development?

2) ASP.NET has a lot to know about, so if you have 0 experience, then the learning curve is fairly steep.

3) If you have a WCF server for the business and database logic, then half of your work is probably already done.  

4) There are a ton of questions to ask, so I'll cut myself off here...
Roopesh ReddyConnect With a Mentor IT AnalystCommented:

Continuing with @TheLearnedOne steps -

1. Yes! ASP.NET is the right choice for you!

2. I suggest you to get started with HTML 5 + CSS 3 + JavaScript, before you get your hands dirty with ASP.NET!

3.You can get started with ASP.NET here -

4. You can use existing WCF services and have the authentication model designed for Web application too!

Happy Web learning!!!

Hope it helps u...
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

ThomasianAuthor Commented:

1. ASAP. I will not be building a full scale website. Just a web application to replace a simple windows app. It will constist of only 3 pages. A login page, a page to change the password and then the main window. The main window will only have 2 grid views for monitoring and a combo box (selector?) and a few buttons (start, end, etc..). All the data processing and business logic is done on the WCF server, I just need to be able to pass the commands from the web app to the WCF server.

2. From what I have read, the HTML syntax is similar to xaml in WPF. And the code behind is just the same as with creating a windows app. Unless of course if you are pointing to MVC which I don't plan to use for now. Or am I missing something?

3. Yes, which is why I thought creating a similar client app using ASP.NET shouldn't be too difficult. The client app simply shows what is received from the WCF server and passes all the commands (buttons pressed) back to the server. No data processing.

4. Thanks. Please feel free to give some advice whenver you have the time.


1. Ok. Thanks for confirming

2. I think HTML is very similar to XAML which I have some experience.
CSS is used to improve the look of the site. For now, I will focus on making it work first. ;)
As for javascript, I think I won't need much. Maybe just a timer to regularly update the gridviews which displays statistical data.

3. I have already bought a book on ASP.NET and have already started doing some reading.

4. Wouldn't that complicate things even more? The app keeps track of each agent's performance so I should log all transactions with the user that is currently logged-in.
Bob LearnedConnect With a Mentor Commented:
The only thing I ever use anymore is MVC, for small and large projects, because that is where my thinking is.  With a variety of view engines (Razor, NVelocity, ...), view models, and a variety of other niceties, it has the power for easy implementation, but it has a fairly extensive learning curve, if you don't have any experience with ASP.NET.  Once I learned it, though, am I not going back to vanilla web forms.

This seems like a good project to "cut your teeth" on, since it doesn't have a lot of complicated UI requirements.

If you are deploying to IIS, then I would suggest that you get to know that, too, since it is a pretty extensive platform, that I am still learning about after beaucoup years behind the web development wheel.
ThomasianAuthor Commented:
Ok. I will look into that some time. I think I should learn the basics first. :)

Back to the question, is it possible to create a single WCF connection for each user (not on each page request)? And does WCF callback work on ASP.NET?
Roopesh ReddyConnect With a Mentor IT AnalystCommented:

WCF is well supported with ASP.NET web application! You may to have explore!

Hope it helps u...
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.

All Courses

From novice to tech pro — start learning today.