views:

268

answers:

6

Hi All,

I am novice to .NET framework and started working on developing a web application, it would be great if I can find answers to couple of my novice queries listed below (I really appreciate your response).

  1. Where we can find best practices related to design, coding, testing and deployment of .NET (ASP.NET/C#)? - I have googled and found many resources not sure which is the best?.

  2. Which is the best logging framework for .NET? - log4net or something else? - any suggestions on using ASPECT.NET?.

  3. Which is the best database connection pooling framework? (is there any) - any references to resources would be of great help.

  4. We are developing a component that does network updates (altering users with emails) - any good messaging platforms? and what are the best practices to be followed when developing resource intensive services as a part of main web application.

Thanks a lot for your time and looking forward to interact with you all in near future.

Regards Vijay R

A: 

In regards to logging. Check out log4net like you mentioned, but you might also want to check out ELMAH. It's a nice little project.

http://code.google.com/p/elmah/

Mike M
A: 

Database Connection Pooling

If you are using SQL Server then database connection pooling will be done for you automatically. Unless you have an extremely high transaction rate, this shouldn't be a concern.

Design, Coding, Testing, etc. can really be answered on two levels.

If you are looking for resources for Agile, for example, (the "meta" level) then Robert Martin's works are generally considered the reference. He has one called "Agile Principles, Patterns and Practices in C#" that is good if you are a C# developer. I can recommend it although I will tell you that it is pretty derivative of earlier works and his C# isn't really world class (see Jon Skeet's book, mentioned below, for that). Martin's book is very useful for learning Agile methods and design patterns but not so much for learning coding techniques.

For more of an algorithm-at-a-time perspective on Design Patterns, I can recommend "C# Design Patterns" by James Cooper.

For a deeper perspective on the language itself, see Jon Skeet's C# in Depth. It is far and away the best advanced C# book I own.

Finally, there are many questions related to Test-Driven Development here on SO so make sure you browse around!

If you like what you see and decide to use Test Driven development techniques, then you'll either adopt Microsoft's testing library (built into Visual Studio) or you can go for the open source standard NUnit. I use and strongly recommend NUnit. The people at Testdriven.net have built a nice tool that lets you not only run your NUnit tests from within Visual Studio but also provide a great test-coverage analysis tool! I like their tools a lot and use them constantly.

EMail and SMTP-based Messaging

Finally, if you are doing a lot of work using email as a messaging platform, then you'll want to check out the AspNetEmail library. It is far and away the best email platform available. It not only provides things like the automatic processing of ASP.NET web forms, mail merges, etc. etc. it also features technical support with guys who know more about SMTP than anyone else I've ever met. Highly recommended!

Mark Brittingham
A: 

Hi, welcome to the world of .Net. I'm sure you'll find .Net is great.

  1. Design patterns: don't bypass all articles of Martin Fowler. Also I'm agree with Mark: Test Driven Development rock's. May be you could find Domain Driven Design interesting, Eric Evans talks about the topic.
  2. Log4net : I use at work and my personal projects. Works like a charm, very configurable through .config files. Also if you're thinking on use some ORM and think in nHibernate you will be using it.

By me it's all. Welcome again Vijay

Manuel
+1  A: 

Just running with the comment:

I am novice to .NET framework and started working on developing a web application...

The Microsoft Patterns and Practices group has published an Application Architecture Guide document that is probably worth checking out.

Zach Bonham
A: 

I'd recommend you take a look at Microsoft's Patterns and Practices site. There are some libraries there that help with database access and logging (especially if you are stuck on .Net 2).

Khanzor
A: 

Thank you all for your suggestions, I appreciate it.

Vijay Rayapati