Asynchrony is essential for scalability and performance on the server side. Although it has always been possible to write asynchronous code, there has, up to now, been a downside: it is difficult to understand and maintain. Now, with the async/await. keywords, the whole approach is radically simplified for the programmer.… Read more
There should always be a reason for a commit to source control, so why not make a log message mandatory when you commit, and make it easy add a link to a record in a bug-tracking system, or to another Log message? Michael Sorens explains how.… Read more
.NET memory management is designed so that the programmer is freed from the chore of consciously having to allocate and dispose of memory resources. It is optimized to work best with the most common patters of usage. However, the more conscious you become of scalability and performance, the more useful an understanding of NET memory management becomes.… Read more
In this excerpt from his new book, Practical Performance Profiling: Improving the Efficiency of .NET Code, Jean-Phillipe Gouigoux discusses the Dispose mechanism and the finalization process in the context of .NET Garbage Collection… Read more
One of the most radical features of PowerShell is amongst the least known. It is possible to extend the buit-in Cmdlets to provide extra functionality. One can add or remove parameters to make subsequent scripting simpler. Michael shows how this is done to meet a practical requirement:, excluding entire subtrees from a recursive directory trawl for automating source control. … Read more
MongoDB is one of the more intriguing 'NoSQL' databases to emerge from 'Cloud' computing. Sometimes, the best way of understanding a rather different technology is to get stuck-in and try it out, so Jeremy Jarrell shows how to get started with a simple ASP.NET MVC project that uses MongoDB.… Read more
Moving backwards in time in Subversion is like time travel in science fiction. It's fine to look around, but If you change anything it can have unforseen consequences, and you always have to return to the present. Snapshots enable you to navigate in source control to examine or compile the code as it existed at a point in time; to access a particular build.… Read more
When you start an ASP.NET MVC project, you choose one of a number of project templates or starter kits. The ones that Visual Studio provide are very useful, but you can create your own if you want, and Dino finds that the generic one that he presents in this article works well to rapidly create MVC applications.… Read more
Is it realistic to keep to principles of 'Test-First' and 100% coverage for unit tests when in the heat of developing commercial C# applications? Does rigorous unit-testing lead naturally to good design by enforcing testability, low coupling and high cohesion? Patrick Smacchia gives his opinion based on hard-won experience. … Read more
Subversion lets you embed, and automatically update, information within source-controlled files to make it easy to see who did what, and when they did so. It is not entirely straightforward to get it working, though; unless of course you read, and follow, Michael's easy guide.… Read more
After having converted a whole lot of training materials based on VB.NET into C#, Andy 'Wise Owl' Brown decided to write a tongue-in-cheek rant whilst he could still remember the pain-points. 'Convert to VB.NET! You have nothing to lose but your semi-colons! '… Read more
Michael Sorens continues his series on source control with Subversion and TortoiseSVN by describing several ways one can use to share code among several projects.… Read more
Subversion doesn't have to be difficult, especially if you have Michael Sorens's guide at hand. After dealing in previous articles with checkouts and commits in Subversion, and covering the various file-manipulation operations that are required for Subversion, Michael now deals in this article with file macro-management, the operations such as putting things in, and taking things out, that deal with repositories and projects.… Read more
We all understand the value of Unit Testing, but how come so few organisations maintain unit tests for their in-house applications? We can no longer pretend that unit testing is a universal panacea for ensuring less-buggy applications. Instead, we should be prepared to actively justify the use of unit tests, and be more savvy about where in the development cycle the unit test resources should be most effectively used.… Read more
You develop an ASP.NET MVC application by extending it; customising any default logic that you wish to change with your own implementation. Simone starts a tour of the extensibility points of ASP.NET MVC, by looking at the beginning of the pipeline, the Routing Module, and gives a practical example of writing an extension, with source code: a way of 'watermaking' images 'on the fly'.… Read more
The second part of Michael's series of articles gives more recipes for Subversion Source Control. This time he explains how to add files, highlights tools and techniques for determining what to include in source control and shows how to quickly and efficiently filter out the "noise".… Read more
Interop doesn't have to be taxing. Interoperability between managed and unmanaged code happens under the hood in .NET. When you are doing Interop in your .NET applications, there are a few things to beware of, and Michael McLaughlin gives a brief introduction of how interop is used in .NET before explaining the five points to watch out for.… Read more
If you have more than zero developers in your team, then you need Source Control. In this article Michael starts a series that aims to provide clear and complete recipes for using Subversion, mainly through its simple, elegant, graphical interface: TortoiseSVN.… Read more
Automatic memory management isn't new, but it's a wonderful thing for programmers. We bring you some tips and techniques to .help you understand a bit more about how .NET's memory management works, can help you to ensure that you write high-performance .NET code. … Read more
Even if you know PowerShell inside and out, there will be those times where you won't be the end user for your script, even within your organisation. You need a straightforward GUI. Thankfully, Jonathan Medd has provided workthoughs for three tools - PowerGUI, PrimalForms, and SQL Scripts Manager - to help apply some GUI goodness to your scripts.… Read more