May 22nd Links: ASP.NET, Visual Studio, Silverlight, WPF and .NET
One of the things I'm going to try and start doing is a weekly blog post of useful/interesting links on .NET related topics that I've found on the web. Below is this week's version:
ASP.NET
- Downloading a File using ASP.NET with the "Save As" Dialog: Rick Strahl has a nice post on how to dynamically download a file to a browser with ASP.NET and force the browser to automatically prompt them to save it using the "Save As" dialog.
- Storing Binary Files Directly in the Database using ASP.NET 2.0: Scott Mitchell has a good article that shows how to upload and store images within a SQL database, and then serve them out dynamically from within a web application (very useful for photo albums). You could combine this article with Rick's above to enable an optional "Save As" option that allows site visitors to save high-resolution versions of images or other file types.
- How to Make a GMail-like Loading Indicator with ASP.NET AJAX: Simone has a good post describing how to use the <asp:updateprogress> control to provide "loading..." notification behavior ala GMAIL using ASP.NET AJAX.
- Microsoft AJAX Events - Part 1: Subscribing: Bertrand Le Roy from the ASP.NET team has a nice write-up that describes how to wire-up non-DOM events using ASP.NET AJAX.
- ASP.NET Registration with Multiple Profile Providers: Andrew Rimmer has a nice walkthrough that describes how to use the SqlTableProfileProvider to store profile registration data in a schematized database table. For more on this topic, also check out my previous posts here, here and here.
Visual Studio
- Debugging SQL Server 2005 Stored Procedures in Visual Studio: Scott Mitchell published another great article on how to debug SPROCs using Visual Studio 2005. You can use this approach to set a breakpoint within a SPROC in your database, and then hit it like a normal debug breakpoint when debugging an ASP.NET application that calls it.
- Using Visual Studio Macros to Increase Productivity: Dan has a nice post describing some of the Macros he has created to manage large projects in Visual Studio. The Visual Studio macro recorder and editor are two features that not enough developers take advantage of (myself included). Whenever you find yourself repeating a task a number of times, I'd highly recommend creating a macro within VS to automate it for future uses.
Silverlight
- View Source Reflector Tool for .NET Silverlight Apps: Ernie Booth has created a great add-on for Lutz Roeder's .NET Reflector Tool. Ernie's tool allows you to point at a Silverlight application on the web, and then pull up "View Source" on the source code to see how it is built. Very useful when checking out how samples work.
- Silverlight 1.1 Alpha Layout System and Controls Framework: One of the features missing in the Silverlight 1.1 Alpha that we shipped at MIX is support for layout management. This is a powerful feature of WPF, and makes it much easier to position and control UI on a page (I'll post more about this in the future). Dave Relyea from the Silverlight UI team posted a cool sample on his blog that provides a sample implementation of layout management that works with the 1.1 Alpha and includes both Stack and Grid layout manager support. He also then shipped a number of cool custom controls including buttons, labels, textbox, and border controls. Very cool stuff.
- Silverlight Toolbar Example: A nice sample from Vivek that describes how to create an animated toolbar where the buttons expand when you hover over them. You might also want to check out the "Office UI Ribbon" sample on the www.silverlight.net sample gallery web-site that demonstrates how to build a really cool toolbar within the browser.
WPF
- Free Download of Chapter 1 of Chris Anderson's Essential WPF Book: Chris was an architect on WPF and has recently published a great book on it. You can download Chapter 1 of the book and read it for free.
.NET General
- NDepend 2.2: Scott Dorman has written up a great post on NDepend - which is a .NET utility that enables you to perform code analysis on your .NET projects. This can be useful especially with large projects that you've inherited. NDepend also supports a SQL-like query language that enables you to define your own code rules/analytics to search a code base with.
- Dynamic Language Runtime (DLR) ported to Mono: One of the announcements we made at MIX was that we are shipping a new "dynamic language runtime" framework library for .NET that makes it much easier to build dynamic languages on top of .NET (both the full .NET Framework and Silverlight). We are also shipping four dynamic language implementations of our own: IronPython, IronRuby, Javascript and Dynamic VB. We shipped the source code to the DLR and IronPython as a CodePlex project with a permissive license. This article on O'Reilly describes how someone has already taken the code and got it up and running on Mono. Miguel de Icaza was up in Redmond this week at a compiler dev lab we held and JasonZ and I got a chance to take him out to dinner last night. You can read about Miguel's trip on his blog here.
Hope this helps,
Scott