Summary 21.05.2009 – 28.05.2009

28/05/2009

Team Foundation Server 2010

Brian Harry continues his posts about TFS 2010:

Amit presents the Lab Management inside TFS 2010.

Visual Studio 2010

The Visual Web Developer team has a nice post about the new features of ASP.NET 4.0 in Visual Studio 2010.

Channel 9 has published the 20th episode about Visual Studio 2010 and .NET 4.0. In this episode we can see how we can download and install Visual Studio 2010.

.NET 4.0

In addition to my previous post about the new features in .NET 4.0 and C# 4.0, the BCL team has published a list of new features in BCL in .NET 4.0.

The .NET Security team present the security changes in CLR 4.0:

Entity Framework 4.0

The ADO.NET team continues the Sneak Preview posts:Sneak Preview – Pluralization in Entity Framework 4.0. They also have a great article about POCO entities.

ASP.NET MVC

Maarten has an excellent post about creating a custom DomainRoute as a solution to scenarios where we have to deal with the domain and not only with the application path.

Architecture

Greg Young has an excellent article about what being always valid means.

RIA

Brad shows that we can have our custom metadata provider for entities on server side.

ASP.NET AJAX

Joe Stagner points out a very cool Firefox plugin for ASP.NET AJAX based on FireBug.

ASP.NET 4.0

Scott has a great article about the new features in ASP.NET 4.0.

Advertisements

Summary 10.05.2009

12/05/2009

RIA

Brad Abrams announces the new RIA Services May Preview which includes some new features among whom I personally find interesting the new LINQ to SQL Domain Provider. I am looking forward to see the first NHibernate Domain Provider ;).

Geneva

Geneva Beta 2 was announced at TechEd.

Vittorio also announces the release of a Identity Developer Training Kit.

If you want to learn more about Geneva, go check out the 4 videos on Channel 9.

C#

Eric Lippert has an excellent article on the use of reserved keywords and contextual keywords such as var, dynamic during the preprocessing phase of the compiling process.

Multithreading

Luis continues his series on multithreading with a new one on synchronization. The complete list of posts is:

Entity Framework

The ADO.NET Team published two new posts talking about the migration from IPOCO to POCO in EF 2.0 and the main scenarios and patterns for the next release shipping in Visual Studio 2010.

AutoMapper

Jimmy Bogart has a great article about making AutoMapper more IoC friendly. He shows how AutoMapper plays nicely together with StructureMap.

kick it on DotNetKicks.com


Summary 09.05.2009

09/05/2009

ASP.NET MVC

Keyvan continues the posts about ASP.NET MVC showing how to implement your own CustomControllerFactory taking in consideration the client regional settings.

Debugging

Tess points out StackViewer – a cool tool for viewing the stack trace of a running applications in .NET 2.0. As it only attaches, takes a snap of the stack and then detaches, it makes a perfect candidate for debugging performance/hangs in various applications.

Parallel Programming

Soma announces the release of Axum – a language designed for building parallel applications. Matthew Podwysocki also has some details about Axum. For more information, go to the Axum Team Blog.

WCF

Christian Weyer has some excellent posts on what’s new in .NET for WCF:

ASP.NET

Scott Galloway has a very interesting post about removing the CSS inline style GridView comes with.

NHibernate

Ayende continues his series of inspiring posts with a couple more:

Sharp

Luis continues talking about Sharp :

Multithreading

Luis has also started a series of posts about multithreading:

kick it on DotNetKicks.com


Summary 23.04.2009

24/04/2009

ASP.NET MVC

Phil has a great post showing how we can have scripted views stored in database. Phil’s example avoids the classic approach using VirtualPathProvider and it can be run in medium trust.

As usual, Scott Hanselman has a great article on how to integrate ELMAH with ASP.NET MVC.

Lately, there is a debate on some performance issues with HtmlHelper.RenderPartial method. Simone wrote about it and Kazi Mansur Rashid continues Simone’s analysis.

Jimmy Bogard has a great post about tips on development with MVC. I highly recommend you to read it!

Design Patterns

Ayende started a few days ago an interesting talk about the repository pattern and its use. Between Greg and Ayende started a debate on each one’s blog. Greg says that the repository pattern offers a clean separation like a boundary and it easily facilitates the replacement of the persistence framework. He supports Ayende’s idea that Query objects should be used instead of named query methods as they are not SOLID as the repository’s interface is modified each and every time a method is added or changed. On the other hand, OO principles should be followed IN GENERAL but as the repository can be seen as a boundary, he acknowledges the fact that by having a repository with query named methods, the replacement of the persistence mechanism would be much easier as everything is described in the repository’s interface. With query objects we would have additional concerns with building dynamic criteria. Greg recommends command and query separation and the use of a separate layer for querying purposes only leaving the repositories concerned only with commands.

Ayende tries to clear things out and I think he did a great job. I think that both of them where speaking about things in different contexts each one being right in his own context.

The bottom line in my opinion is that one should not use the repository pattern unless a layer/tier boundary is needed. This is the case when for example one might think of changing the persistence mechanism. Otherwise, the persistence frameworks out there have become smart enough to be used directly.

Architecture

Anne Epstein talks about multi tenant applications where multiple databases are used saying that Ayende’s opinion from a few months back was correct.

DDD

Howard Dierking gives a sneak peak at his editor draft notes on the June articles about Aggregates of MSDN Magazine.

Yves Goeleven talks about CQS (Command Query Separation).

Entity Framework

Wriju wrote a nice post on how to attach a detached entity.

Muhammad wants to propose a new approach for eager loading in EF using a class similar to DataLoadOptions from LINQ to SQL.

.NET 4.0

In complement to my previous post on resources for learning the new features available in .NET 4.0, Daniel Moth just pointed out that Eric Eilebrecht has started a series of posts on ThreadPool improvements in CLR 4.0.

MSDeploy

A few days ago, I have linked to the MSDeploy team’s announcement about the RC release of MSBuild. Today, the team has posted a new article about the changes in the release.

Geneva

Vittorio Bertocci posted to excellent articles on how to write an ASP.NET Membership website using the Geneva framework. You can find the first part here and the second one here.

kick it on DotNetKicks.com


Learning resources for C# 4.0 and .NET 4.0 new features

24/04/2009

Update 05.08.2009: I have posted learning resources for Entity Framework 4.0 and ASP.NET 4.0 Web Forms. I have also updated the resources for C# 4.0.

Update 13.07.2009: There is a separate post for security transparency.

With the eminent release of a beta release for Visual Studio 2010 next month, I thought it would be nice to have learning resources for the new features introduced in .NET 4.0 and especially in C# 4.0.

New features

http://community.bartdesmet.net/blogs/bart/archive/2009/02/21/net-4-0-system-shell-commandline-parsing-part-1.aspx

http://www.danielmoth.com/Blog/2009/05/vs2010-fix-for-not-all-anonymous.html

http://blogs.msdn.com/bclteam/archive/2009/05/22/what-s-new-in-the-bcl-in-net-4-beta-1-justin-van-patten.aspx

http://community.bartdesmet.net/blogs/bart/archive/2009/07/11/bart-s-control-library-not-what-you-think-it-is-part-0.aspx

http://blogs.msdn.com/charlie/archive/2009/06/11/community-convergence-l.aspx

Dynamic keyword

http://www.codethinked.com/post/2008/10/28/C-40-New-Features-Part-1-dynamic-keyword.aspx

http://www.nikhilk.net/Entry.aspx?id=210

http://www.nikhilk.net/Entry.aspx?id=211

http://www.nikhilk.net/Entry.aspx?id=213

http://geekswithblogs.net/sdorman/archive/2008/11/16/c-4.0-dynamic-programming.aspx

http://blogs.msdn.com/samng/archive/2008/10/29/dynamic-in-c.aspx

http://blogs.msdn.com/samng/archive/2008/11/02/dynamic-in-c-ii-basics.aspx

http://blogs.msdn.com/samng/archive/2008/11/06/dynamic-in-c-iii-a-slight-twist.aspx

http://blogs.msdn.com/samng/archive/2008/11/09/dynamic-in-c-iv-the-phantom-method.aspx

http://blogs.msdn.com/samng/archive/2008/12/11/dynamic-in-c-v-indexers-operators-and-more.aspx

http://blogs.msdn.com/samng/archive/2008/12/15/dynamic-in-c-vi-what-dynamic-does-not-do.aspx

http://blogs.msdn.com/samng/archive/2008/12/24/dynamic-in-c-vii-phantom-method-semantics.aspx

http://blogs.msdn.com/kirillosenkov/archive/2009/05/01/a-simple-sample-for-c-4-0-dynamic-feature.aspx

http://www.hanselman.com/blog/C4AndTheDynamicKeywordWhirlwindTourAroundNET4AndVisualStudio2010Beta1.aspx

http://blogs.msdn.com/cburrows/archive/2008/10/27/c-dynamic.aspx

http://blogs.msdn.com/cburrows/archive/2008/10/28/c-dynamic-part-ii.aspx

http://blogs.msdn.com/cburrows/archive/2008/10/29/c-dynamic-part-iii.aspx

http://blogs.msdn.com/cburrows/archive/2008/11/06/c-dynamic-part-iv.aspx

http://blogs.msdn.com/cburrows/archive/2008/11/11/c-dynamic-part-v.aspx

http://blogs.msdn.com/cburrows/archive/2008/11/14/c-dynamic-part-vi.aspx

http://blogs.msdn.com/cburrows/archive/2009/02/04/c-dynamic-part-vii.aspx

http://blogs.msdn.com/cburrows/archive/2009/04/22/dynamic-base-classes-in-c-4.aspx

http://blogs.msdn.com/ericlippert/archive/2009/07/30/generics-are-not-templates.aspx

COM Interop

http://www.hanselman.com/blog/CLRAndDLRAndBCLOhMyWhirlwindTourAroundNET4AndVisualStudio2010Beta1.aspx

http://channel9.msdn.com/shows/Going+Deep/Raja-Krishnaswamy-and-Vance-Morrison-CLR-4-Inside-Type-Equivalence/

http://blogs.msdn.com/samng/archive/2009/06/16/com-interop-in-c-4-0.aspx

http://blogs.msdn.com/clrteam/archive/2009/08/10/improvements-to-interop-marshaling-in-v4-il-stubs-everywhere.aspx

Covariance and contravariance

http://blogs.msdn.com/charlie/archive/2008/10/28/linq-farm-covariance-and-contravariance-in-visual-studio-2010.aspx

http://www.codethinked.com/post/2008/10/31/C-40-New-Features-Part-3-Generic-Covariance.aspx

http://www.codethinked.com/post/2008/11/11/C-40-New-Features-Part-4-Generic-Contravariance.aspx

http://community.bartdesmet.net/blogs/bart/archive/2009/04/13/c-4-0-feature-focus-part-4-generic-co-and-contra-variance-for-delegate-and-interface-types.aspx

http://blogs.msdn.com/wriju/archive/2009/07/31/c-4-0-co-variance-and-contra-variance.aspx

Named and optional parameters

http://blogs.msdn.com/tomholl/archive/2008/11/18/constructors-and-inheritance-why-is-this-still-so-painful.aspx

http://www.codethinked.com/post/2008/10/30/C-40-New-Features-Part-21-default-parameter-intrigue.aspx

http://www.codethinked.com/post/2008/10/29/C-40-New-Features-Part-2-default-and-named-parameters.aspx

http://blogs.msdn.com/samng/archive/2009/02/03/named-arguments-optional-arguments-and-default-values.aspx

http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/03/27/c-and-optional-parameters.aspx

http://blogs.msdn.com/samng/archive/2009/04/01/named-arguments-and-overload-resolution.aspx

http://blogs.msdn.com/samng/archive/2009/04/17/named-and-optional-arguments-ties-and-philosophies.aspx

http://davidhayden.com/blog/dave/archive/2009/06/02/CSharp4OptionalNamedParameters.aspx

CLR

http://blogs.msdn.com/clrteam/archive/2009/07/15/clr-4-making-the-assemblyresolve-event-more-useful.aspx

http://channel9.msdn.com/shows/Going+Deep/Raja-Krishnaswamy-and-Vance-Morrison-CLR-4-Inside-Type-Equivalence/

http://blogs.msdn.com/clrteam/archive/2009/06/19/tail-call-improvements-in-net-framework-4.aspx

http://blogs.msdn.com/clrteam/archive/2009/07/15/clr-4-making-the-assemblyresolve-event-more-useful.aspx

Thread pool engine

http://www.danielmoth.com/Blog/2008/11/new-and-improved-clr-4-thread-pool.html

http://www.danielmoth.com/Blog/2008/12/introducing-new-task-type.html

http://blogs.msdn.com/ericeil/archive/2009/04/23/clr-4-0-threadpool-improvements-part-1.aspx

http://channel9.msdn.com/shows/Going+Deep/Erika-Parsons-and-Eric-Eilebrecht–CLR-4-Inside-the-new-Threadpool/

http://channel9.msdn.com/shows/Going+Deep/CLR-4-Side-by-Side-In-Process-What-How-Why/

Garbage collector

http://geekswithblogs.net/sdorman/archive/2008/11/07/clr-4.0-garbage-collection-changes.aspx

http://blogs.msdn.com/tess/archive/2009/05/29/background-garbage-collection-in-clr-4-0.aspx

Code contracts

http://geekswithblogs.net/sdorman/archive/2008/11/07/clr-4.0-code-contracts.aspx

http://geekswithblogs.net/sdorman/archive/2008/12/10/more-on-.net-4.0-code-contracts.aspx

http://odetocode.com/Blogs/scott/archive/2009/02/24/12574.aspx

http://blogs.msdn.com/bclteam/archive/2009/02/23/preview-of-code-contract-tools-now-available-melitta-andersen.aspx

http://devlicio.us/blogs/derik_whittaker/archive/2009/06/08/code-contracts-primer-part-1-introduction.aspx

http://devlicio.us/blogs/derik_whittaker/archive/2009/06/09/code-contracts-primer-part-2-handling-legacy-code.aspx

http://devlicio.us/blogs/derik_whittaker/archive/2009/06/13/code-contracts-primer-part-3-providing-support-for-unit-tests.aspx

http://devlicio.us/blogs/derik_whittaker/archive/2009/06/15/code-contracts-primer-part-4-utilizing-pre-amp-post-conditions.aspx

http://dddstepbystep.com/blogs/ontheweb/archive/2009/07/01/code-contracts-primer-part-5-utilizing-object-invariants-by-derik-whittaker.aspx

http://msdn.microsoft.com/en-us/magazine/ee236408.aspx

Corrupting State Exceptions

http://geekswithblogs.net/sdorman/archive/2008/11/07/clr-4.0-corrupting-state-exceptions.aspx

Managed languages

http://geekswithblogs.net/sdorman/archive/2008/11/10/clr-4.0-managed-languages.aspx

Parallel Programming

http://www.danielmoth.com/Blog/2009/01/parallelising-loops-in-net-4.html

http://managed-world.com/archive/2009/02/09/an-intro-to-barrier.aspx

http://blogs.msdn.com/pfxteam/archive/2009/03/27/9514938.aspx

http://www.danielmoth.com/Blog/2009/05/tasks-documentation.html

http://www.danielmoth.com/Blog/2009/05/parallel-tasks-new-visual-studio-2010.html

http://www.danielmoth.com/Blog/2009/05/parallel-tasks-new-visual-studio-2010.html

http://www.danielmoth.com/Blog/2009/05/tasks-documentation.html

http://www.danielmoth.com/Blog/2009/05/vs2010-fix-for-not-all-anonymous.html

http://www.danielmoth.com/Blog/2009/06/parallel-stacks-method-view.html

http://www.codethinked.com/post/2009/06/15/Life-After-Loops.aspx

http://geekswithblogs.net/jolson/archive/2009/06/09/parallel-computing-with-visual-studio-2010-beta-1.aspx

http://www.bluebytesoftware.com/blog/PermaLink,guid,652962f1-5073-49a4-b233-9ca24b494742.aspx

System.Core

http://community.bartdesmet.net/blogs/bart/archive/2009/02/21/net-4-0-system-shell-commandline-parsing-part-1.aspx

Security

http://blogs.msdn.com/shawnfa/archive/2009/05/20/net-4-0-security.aspx

http://blogs.msdn.com/shawnfa/archive/2009/05/21/security-policy-in-the-v4-clr.aspx

http://blogs.msdn.com/shawnfa/archive/2009/05/22/sandboxing-in-net-4-0.aspx

http://blogs.msdn.com/shawnfa/archive/2009/05/27/coding-with-security-policy-in-net-4-0-implicit-uses-of-cas-policy.aspx

http://blogs.msdn.com/krimakey/archive/2009/05/20/where-did-my-permission-set-controls-go.aspx

There is a separate post for security transparency.

LINQ

http://damieng.com/blog/2009/06/01/linq-to-sql-changes-in-net-40

http://community.bartdesmet.net/blogs/bart/archive/2009/08/10/expression-trees-take-two-introducing-system-linq-expressions-v4-0.aspx

Tuple

http://blogs.msdn.com/bclteam/archive/2009/07/07/building-tuple-matt-ellis.aspx

http://msdn.microsoft.com/en-us/magazine/dd942829.aspx

Registry

http://www.danielmoth.com/Blog/2009/07/registryoptionsvolatile-in-net-4.html

Enjoy!

Bogdan

kick it on DotNetKicks.com

Shout it