Good ASP.NET (C#) Apps

What .NET project/service to use for a background app that runs all the time?

You could utilize Windows task scheduler to periodically run an exe file. In this case the project would be a console app.

A better solution would be to use Windows service. See comments from David & as.if.i.code (tnx btw, you learn something new every day :)

Is ASP.NET MVC 3 ready for business applications

I have used every single version of WebForms since 1.0 beta and MVC 1, 2 and 3 and believe that MVC is definitely ready for production use.

You must take into consideration that the development approach of the 2 is quite different:

MVC requires that you learn more low level details of the basic web technologies: HTML, CSS, JS, HTTP, (which I believe you should anyway if they are not in your skill set yet).

WebForms tries to abstract most of it and can be considered more productive for throwing together some simple pages. But it is a leaky abstraction and the lack of control may frustrate you as you grow more proficient - easier in the beginning if you are new to web development; harder to bend as you gain experience.
The productivity gains start to disappear when the pages become more complex. The abstraction is more likely to cause performance problems and undermines the ability to automate testing of your pages (both unit and UI level testing with Selenium or equivalent tools).

Example 1: in MVC you most likely will need to understand how form fields are processed to compose a POST over HTTP with application/form-url-encoded, otherwise you may struggle with model binding. In WebForms you can build big applications without ever worrying with that.

Example 2: In MVC you need to manage most of your page state across requests. In WebForms it's easy have the framework do it for you.

MVC applications tend to rely more on client side javascript components for having reusable widgets, binding JSON data for example. WebForms encourages the use of server side controls since they integrate nicely into the framework state management facilities.

Unlike other people I don't believe in saying that MVC is strictly more productive than WebForms. Don't underestimate the WebForms ability to deliver data driven business applications quickly. Having managed a lot of people using both, my opinion is that MVC requires more skilled programmers to become more productive. But if that is your case you will likely find that MVC is a more enjoyable and powerful platform in those skilled hands.

asp.net webforms vs mvc which is best for business applications

I think both technologies can get a bit complicated after getting past any of the basics. Here are some brief opinions that I gathered while having to implement a project that must live in both MVC and WebForms hosts.

WebForms Positives:

  1. The maturity of the product
  2. Lots of 3rd party support with regard to sophisticated controls
  3. There are ways to get around the legacy-feeling aspects of the framework (e.g., WebForms MVP)

WebForms Negatives:

  1. Page lifecycle issues can anger you to no end; there are a lot of moving parts to a sophisticated web application
  2. Using dependency injection is "difficult" to use/implement
  3. There is a lot in the framework that you can't control
  4. Need something like Reflector to dive into decompiled source when have questions that are not answered by documentation, web, experimentation.

MVC Positives:

  1. Great separation of concerns and support of dependency injection
  2. More control over so many things (i.e., project structure, mvc framework, rendered content, etc)
  3. You can xcopy deploy your app along with the mvc framework on top of an asp.net 4 installation (i.e., to a 3rd party hosting provider)
  4. Native support of JSON
  5. Source code (w/ comments!!) provided so that you can dive into various features when you run into questions on the internals.
  6. They've been doing out-of-band releases on tooling and I believe plan to do so on the framework (?); they have a futures project along with the source that shows you some of the directions they are going and which you could make use of if you should choose to.

MVC Negatives:

  1. Can take a little time to wrap one's mind around
  2. Not as many 3rd party helpers (no controls); those that exist seem to be not as sophisticated as their WebForm counterparts

Personally, I'm an MVC fan because of the control, flexibility, and transparent dependency injection support. Perhaps you should do a small pilot with both technologies to see which one you prefer. Good luck and have fun!

ASP.net vs Basic web front-end for C# Console App

You may want to look at IIS Hosted Web Core (HWC), which allows you to embed the core of IIS inside your application. I believe it can serve up ASPX files. In the spirit of full disclosure, I have not used HWC, so I can't say whether it will do what you want. But I've been interested in it since Azure uses (used?) HWC for it's web roles in earlier versions.

But from I've read, I think it can do what you want. The drawback is that I think it requires you to do some native (C++) programming. Not sure if that helps or not, but I think this is going to be pretty close to what you're looking for.

Here's a blog article describing how to embed HWC in a Console Application.

Hope this helps!

Good place to start learning ASP.NET

Sorry, but I'm going to have to suggest the immediately obvious first:

Official Microsoft ASP .Net Site

There's a link at the top to both "Get Started" and "Learn", and I have found this site incredibly useful over the past year or so.

ASP.NET vs SharePoint - which one is better for web developers?

SharePoint is an Application that sits on top of ASP.net (3.5 SP1 in the current SharePoint 2010 - No ASP.net 4.0 will be possible). They do override a lot of ASP.net built-in functionality (they have their own .aspx Parser and Virtual Path Provider for example).

With ASP.net you have a very well documented, battle-hardened, mature and stable platform with a good API.

With SharePoint you gain a poorly documented, bug-ridden, very limited application that handles a lot of features that you would have to code yourself (e.g., User Profile Management, Document Organization and Versioning and Social Features like Commenting and Tagging), although for the most point SharePoint handles them really poorly and does not allow you to override them, which means that you spend a lot of time rewriting them anyway and trying to integrate them back.

Basically my advice as a SharePoint developer since 2006: Use it when you absolutely have to, avoid it whenever you can and stay with just ASP.net.

SharePoint is good as a simple document management and very light social system. You can quickly customize smaller parts of it and add a lot of value to your company. But in the moment you need something that even only slightly different from what Microsoft envisions, you hit a wall that you can't pass. It's great for what it does, nothing more, nothing less.

Is C# .Net for desktop applications while C#/ASP .Net is for web applications?

The first concept to get is .NET which is a framework at the base of all the things you are asking about. It has libraries and functions that can be used when programming.

The .NET framework can be developed with using a number of different languages. C# is one of these languages, there are a number of others.

ASP.NET is a set of .NET libraries that have tools for developing rich web applications. An ASP.NET application will be deployed in a web server, usually IIS, but it can use all of .NET behind it. It can be programmed using any language available for .NET, including C#.

A .NET MVC applciation is an ASP.NET application, using the MVC design pattern and the special MVC tools provided in ASP.NET.



Related Topics



Leave a reply



Submit