7/24/2008
LifeCycle Solutions - Home ( the software development blog )
 

<July 2008>
SunMonTueWedThuFriSat
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

Subscribe to this feed:

RSS 2.0 | Atom 1.0 |CDF





Add to Technorati Favorites

Friday, July 28, 2006

I have to confess, I just didn't get PowerShell.  .NET at the command prompt was interesting, but why not just write a console application to do the same stuff?  I'd still prefer that for many tasks, but think of PowerShell as a replacement for the command line and batch files.  Probably the coolest thing about it, though, is the way commands can be glued together.  You're no longer constricted to working with strings-  type 'dir' and you get a list of FileInfo objects formatted as string.  You can pipe those FileInfo objects to another command, which  works against those objects:

dir | sort Length -desc| select Name, Length

The above sorts the list by the length property, and selects the name and length property for display.  Keep in mind these are .NET FileInfo (and DirectoryInfo) objects.  You can do the same for any .NET type, and access any method or property just as you would in VB or C#:

dir | foreach { $_.GetType() }

Where it gets cool is when use those other types .NET provides:

$webclient = new-object System.Net.WebClient
$diggFeed = $webclient.DownloadString("http://digg.com/rss/containertechnology.xml")


So, now the $diggFeed variable contains digg.com's rss feed as a string.  Cool, but it's more useful as XML:

$diggFeed = [xml]($webclient.DownloadString("http://digg.com/rss/containertechnology.xml"))
$diggFeed.rss.channel.item | select title


Note that the xml is "serialized" and usable as though it were an object.  So, I can play with the xml data like this:

$diggFeed.rss.channel.item | where { $_.title -like "*.NET*"} | select title

And viola- 3 lines of code to get all the .NET posts on digg.  Keep in mind we could then copy those to our own rss or do just about anything else with them. 

Anyway, get PowerShell and use it instead of the old C:\.   For more stuff you can do, check out the MSDN PowerShell site.  I suspect we'll be seeing more of it used in conjuction with Visual Studio to assist in build scripts and configuration tasks.






Posted by Daniel Root

Thursday, July 27, 2006

Rumor is going around the blogosphere that the .NET Documentation application is no longer going to be developed.  There's still a chance that someone could pick it up, but Microsoft is planning to release the application they use internally to do MSDN documentation.  Watch the Developer Documentation Forum for more news on 'Sandcastle'.

Posted by Daniel Root

Tuesday, July 25, 2006

The introduction of the DataSource model in .NET 2.0 has made it much easier to perform data binding in ASP.NET.  In most cases, it's trivial to use the SqlDataSource and ObjectDataSource for purposes of binding and updating the backing data store when a single row is changed.  However, there's no out-of-the-box way to use a DataSet itself as the backing data store and later persist its entire batch of data to the database.  Consider a shopping cart scenario in which you are adding multiple rows to a temporary data store...you don't necessarily want to go to the DB each time a row is added; rather, you'd prefer to perform a batch update at the end of the process.

Andres Aguiar presents a good solution to the problem by creating a custom data source for this purpose -- the DataSetDataSource.

Posted by Brian Parks

Monday, July 24, 2006

Framework Design Guidelines is one of the best .NET books I've read, bar none.  The only downside for some will be that the examples are in C#, but even so, there is tons of great, real-world guidance that applies to all levels of .NET development.  Written by a couple of Microsoft developers who worked on the .NET framework, it's suprisingly candid and easy to read.

Posted by Daniel Root

ASP.NET 2.0 includes a new set of features called 'Health Monitoring.'  This involves a lot of different ways to monitor the 'health' of your application in event logs, performance counters, etc.  One use of it, though, is to send email notification of exceptions.  This is something we traditionally had to do in code, or with a logging framework like Enterprise Library Logging.  In ASP.NET 2.0, though, it can be done by simply configuring the application.


This also includes some cool features- such as the ability to prevent sending the same error 100 times.  Other providers support going to a SQL Server table or the event log.
Posted by Daniel Root

Craig Utley presented a very useful Microsoft Webcast a few months back on three common OO design patterns (Singleton, Factory, and Observer).  In addition to describing practical coding techniques to solve particular problems, Craig also shows two methods for implementing each pattern -- a "traditional" approach that uses coding constructs available in most languages, and a more elegant ".NET" approach that takes advantage of features of the .NET framework to achieve the same goal; for example, his .NET implementation of an "Observer" pattern uses delegates/events to communicate between publisher and subscriber objects, rather than having the publisher aggregate references to the subscribers. 

There is also a good reference to various patterns, with sample implementations, here

Posted by Brian Parks

Thursday, July 20, 2006

One of the interesting features of SQL Server 2005 is a new utility for working with Reporting Services called Report BuilderDesigned as a reporting solution for the non-developer set (a la MS Access reporting, and others), the tool works against “Data Source Views” (DSVs) created as an abstraction of the underlying tables – the general idea is that the end user works with entities and relationships of entities rather than with relational database tables (think “General Ledger View” vs. GL00100, GL00101, etc.)

For the more savvy users in some organizations, Report Builder, used in conjunction with well-planned DSVs could eliminate some of the ad-hoc reporting tasks that are often delegated to developers.

Video demonstration here.

Posted by Brian Parks

There is an excellent collection of tutorial videos on the Official ASP.NET 2.0 web site.  While they are probably most beneficial for developers seeking to learn about the new features in 2.0, they should also be useful for those moving to ASP.NET 2.0 from other environments, like traditional ASP or PHP.

Posted by Brian Parks

© 2006 LifeCycle Solutions, LLC | All Rights Reserved