Transfer ASP.NET Membership/Role info to production server

Have you ever needed to transfer ASP.NET Membership and/or Role information to a production server? I had just deployed 2 applications to a production server (including the required aspnet_* schema objects to the back end SQL Server 2005 databases). But how am I going to get into my custom-built web-based ASP.NET Membership, Role , etc. management screens? These management screens are secure and there is no user account nor is there an "administration" role available in the empty membership and role tables.

A generous guy named Sloan Holliday offered his help through microsoft.public.dotnet.framework.aspnet and provided me a T-SQL generator that generates the T-SQL code to insert your existing ASP.NET Membership and Role information into an empty database. Pretty helpful. Thanks to Sloan for making this available.


MCAD - Microsoft Certified Application Developer

Good news! As of October 23, 2007 I am now a Microsoft Certified Application Developer. I took and passed the 70-320 exam through Prometric at a New Horizons testing center.


BoundField DataFormatString attribute not being applied

This has bitten me more than once I'm afraid. Figured I'd post this and link to Raj Kaimal's post...

BoundField.DataFormatString Property via MSDN

When the HtmlEncode property is true, the value of the field is HTML encoded to its string representation before the formatting string is applied. For some objects, such as dates, you might want to control how the object is displayed with a formatting string. In those cases, you must set the HtmlEncode property to false.
This is new to VS.NET 2005...

Hope this post helps me remember to set the HtmlEncode attribute to false next time ;-)


Upgraded from Subversion 1.4.4 to 1.4.5

Not a hitch. Amazing.

Here were my steps:

  1. Download and extract the latest binary with bindings that matches your Apache version: (svn-win32-1.4.5.zip) for me.
  2. Stop the Apache Windows Service.
  3. Stop the Subversion Windows Service (svnserve).
  4. Copy the contents of each sub folder from the extracted zip file (svn-win32-1.4.5.zip) over the location of the corresponding sub folder of your SVN installation location.
  5. ** See UPDATE below for a step I originally missed
  6. Restart the svnserve Windows Service.
  7. Restart the Apache Windows Service.
  8. Test.
  9. If you use TSVN, upgrade it too.

[UPDATED: 2007-09-28]

Be sure to copy the following from your Subversion bin folder (C:\Program Files\Subversion\bin) to the Apache modules folder (C:\Program Files\Apache Software Foundation\Apache2.2\modules):


If you don't, and you view your respositories via a browser using Apache, you'll see the wrong version in the footer.

I couldn't remember what the Apache Windows Service was named. Here is some handy command line goodness:
C:\>sc query type= service | grep -i apache

Subversion Rocks!

I have been using Subversion for about 4 months and it has been proven to be very useful in my daily development workflow. I can't imagine developing without source code control again. I have been using Subversion (SVN) locally in combination with TortoiseSVN (TSVN) for my development projects and recently implemented it within my employer's environment. We still have not forced the other developers to use SVN but hopefully that will come in time. My company is not in the software business, we are a manufacturing company and that is probably why there never was a SCC/SCM environment in place before. We do produce a ton of software for internal use and for use by external third parties (customers and suppliers). We have a ton of custom code, databases, scripts, etc. that should all be stored in source code repositories. Again, hopefully soon, as in ASAP.

I had only used Visual Source Safe in the past and was never a fan. I know it can get the job done but we always had performance issues when using it over the wire (VPN). I will say that SourceOffsite from SourceGear was a great solution to the network performance issue.

I have implemented SVN and TSVN on Windows XP locally and SVN in my employer's Windows environment on Windows Server 2003. I have implemented hook scripts for pre and post commit events using BATCH and Perl scripts. On a related note, I am working a quick prototype of hook scripts written in C#. I also implemented an automated backup system using some Perl scripts that I obtained from the Pragmatic Version Control using Subversion as a starting point.

I connect to my company via a VPN connection and the network performance of Subversion is awesome.

I use the CLI (command line interface: svn.exe) mostly but find that TSVN comes in handy too.

I wanted to link to a few resources that I found helpful along the way:

  1. Of course "The Book" (Version Control with Subversion)
  2. The Subverision Site: http://subversion.tigris.org/
  3. Subversion Mail Lists and archives
  4. Pragmatic Version Control using Subversion
  5. Practical Subversion
  6. Subversion Version Control: Using the Subversion Version Control System in Development Projects (Nagel)
  7. I found a few blog entries by Ariejan de Vroom on topics like resolving conflicts, patches, etc. He offers a great SVN cheat sheet. Looking forward to more of his posts on SVN.
  8. You can also ask questions on IRC at irc://irc.freenode.net/%23svn
  9. Google Group: Subversion SVN
  10. Article on The Code Project by Ralph Willgoss: "Setting up an ASP.NET website development environment using Visual Studio .NET, Subversion, and Windows XP"
  11. Article on The Code Project; by Chris McGlothen: "Subversion & TortoiseSVN: Installed and started on Windows 2003 server and local machines"


Need to increase the size of a VPC VHD?

I needed to increase the size of a 16 GB Virtual PC VHD last night. I wasn't sure if it was possible, but it is and it is pretty easy.

I first used the VhdResize utility from vmToolkit to expand the total size of the VHD from 16 GB to 80 GB.

Then I followed the instructions at Xtralogic to "Extending File System Partition: Using Microsoft DiskPart to extend NTFS partition".

The built in diskpart command line tool was easy to use and very effective.

Hope this helps someone else to be able to expand a VHD if necessary.


Tip: Turning off the virtual machine beep

This is a sanity tip from Megan Davis of "The Soul of a Virtual Machine". You can disable the BEEP on Virtual PC VHD with her tip.


Learning BizTalk Server 2006

I am a software developer. That is what I do. That is what I know. I have been attempting to learn enterprise development on the BizTalk Server 2006 platform for ~3 months now. It is an amazing platform with many underlying technologies. I have been extremely impressed with all of the pieces that make up BizTalk and simply amazed at what all of these pieces bring to the table. That said, it hasn't been an easy journey, and I am nowhere even close to being useful as a BTS developer. I seem to get stuck on each little task that I try to accomplish. With my receding/thinning hair, there isn't much more to pull out.

Maybe this is one of the reasons why I have found this learning curve so steep. Its an article by Mark Burch on "The BizTalk development paradigm"

I have been reading the books:

BizTalk 2006 Recipes: A Problem-Solution Approach
by Mark Beckner, Ben Goeltz, Brandon Gross, and Brennan O'Reilly (Paperback - Sep 13, 2006)

Pro BizTalk 2006 (Pro)
by George Dunphy and Ahmed Metwally (Paperback - Oct 23, 2006)

Foundations of BizTalk Server 2006 (Foundations)
by Daniel Woolston (Paperback - Jan 8, 2007)

Taken the class:

Course 2933: Developing Business Process and Integration Solutions Using Microsoft BizTalk Server 2006
Five days; Instructor-Led

I've worked through the BizTalk Server 2006 Tutorials.

I'm working through the BizTalk Server Code Samples.

With all of this work, I still am struggling to get real world solutions (even prototypes) going at the moment.

That being said, I am still extremely excited to have the opportunity (and the challenge) of working on these integration projects for my company using BTS2006.

Guess we'll see where I end up.