July 2005 - Posts

The LongHorn installation was really smooth.  It now collects all the information it needs (i.e.: Computer Name, Upgrade or New Install, partition, etc.) up front.  After that you don't have to do a thing, it installs and reboots all by iteself.  I came back an hour later and I was looking at the desktop.
 
They have a thing called the LongHorn Drivers Supplemental Pack.  This is basically a collection of XP drivers that you can rig to work in LongHorn for things like networking, video, etc.  It didn't support anything in my system.  I installed my XP drivers for my wireless network card and it worked fine.  I did all sorts of tricks trying to get my sound card to work but have had no luck yet.
 
A lot of products detect which operating system is running so they will complain when starting them.  So far, I was able to go into the properties and run the application in compatibility mode and it worked.
 
So what's different?  Most noticable the transition and fading effects for every window.  The title bar of every window now is transparent.  The control panel looks totally different, everything is grouped together even more than it is in XP. 
 
As far as IE7, there didn't seem to be a damn thing different.  The buttons at the top were rearranged and looked neater.  It did have tabbed browsing, but all of the options menus looked the same. 
 
I have only messed with it a little bit, so I am sure I will have more to report soon.
Windows Vista brings a lot to the table.  This blog entry gives a pretty good summary of what it brings to the table.
 
Some of the things to note, are the Restart Manager which allows the system to break file locks without restarting the system.  Improved I/O Cancellation will actually allow you to cancel a request to open or read a file (not sure why it took them 20 years to get this one hammered out).
 
There are a bunch of other things.  Go check it out.
 
 
 
The WinFX runtime is now avaialble.  This specifically contains Avalon and Indigo.  This will replace the Beta 1 RC if you already have it installed.  I will probably install it pretty soon.
 
Michael Bundschuh has posted an article containing common conversion issues from going from ASP.NET 1.1 to ASP.NET 2.0.  He is the guy that we have been submitting bug reports to about the upgrade wizard.  Any how, he has posted this article which contains a lot of common things that you will run into when converting a web application.  Although, most of you will not have to deal with this directly, you may be upgrading an application of your own down the road and this article may be of use.
 
If you haven't seen these before, they are kind of cool.  Microsoft has some hands-on-labs set up where you actually log into a machine via RDP and can try out new features of various products.  They have quite a few that show off the new features of SQL Server 2005.
 
 
They also have some for Visual Studio 2005 as well.
In Famework version 2.0, some new properties have been added which make comparing strings less buggy and more efficient.  A new third parameter has been added which takes type of StringComparison.  There are several possible values, but the most common ones are Ordinal, OrdinalIgnoreCase, InvariantCulture, and CurrentCulture.  Using the right one of these at the right time will allow for the best performance. 
 
Ordinal tell String.Compare to do a byte-for-bye comparison that must match exactly.  OrdinalIgnoreCase does a comparison where the the case is ignored.  This is good for things such as file paths, registry keys, or anything where you don't care about the case of the letters.  InvariantCulture is not typically used.  CurrentCulture  is used typically for any data that is displayed to the customer and user input. 
 
As a best practice, strings should always be compared using one of the possible values using String.Compare.  For more information on string comparison see the URL below.
 
If there is any tip of the day to actually read, it is certainly this one.  This is the one to pay attention to, otherwise you will be pulling your hair out trying to figure out why IntelliSense is not finding a particular control. 
 
A new compiler directive has been added called reference.  It takes a single parameter control which points to the location of a web user control.  If you do not have a reference or register compiler directive in your .aspx or .ascx file to a control, the code-behind will not be able to see that control and it will not compile.  Namespaces are effectively gone.  They don't mean a thing in a web project.  This is necessary even when the control you are referencing is in the same directory.
 
This by far is the single lamest thing they have done to ASP.NET 2.0.  Here is what the syntax looks like.
<%@ Reference control="~/Reservations/Controls/LocationTime.ascx" %>
Note the use of the tilda.  Remember a tilda in a path means go back to the root of that web application.  It is always required for any control reference or register tag (starting a path with a slash simply does not work).
As some of you may know, I managed to get Thrifty.com to work on the June 2005 CTP.  I have had Thrifty.com compiling for a while on Beta 2, however I never could book a reservation because something was forcing a redirect to the login page.  It looks like in Beta 2, FormsAuthentication.SignOut() (required for Blue Chip) redirects the user to the login page no matter what.  For some reason it doesn't do this in the June 2005 CTP.  After removing the sign out code Thrifty.com comes up fine.  Any how, we'll look at rebuilding the entire authentication system for Blue Chip since we can take advantage of some of the 2.0 features regarding AutoDetect of cookieless users.
A while back I mentioned how we were selected to help test new versions of the ASP.NET migration wizard.  Today I received some updated DLLs to do just that.  I haven't tried it yet, but I will soon and then report back to Microsoft.  I have attached a zip file including a white paper on conversion that has lots of info.
Marucs, there is another free book here for you titled Upgrading Visual Basic 6.0 to Visual Basic.NET.  Since you are the expert in this area, I figured you probably already had it, but in case you want to read it online, here it is.
 
I finally got the Thrifty.com Reservation Engine working in ASP.NET 2.0.  I ran it with the June 2005 CTP and it seems to work fairly well.  A lot of things will need tweaking, but this is the first time I have gotten it to shop a rate, etc.  For example, it ignored my machine.config setting and booked in production (confirmation #D3D92Y).
I took the VS2005 skills assessment this morning which seemed to be quite a bit harder (there is a lot of stuff about SQL Server 2005), but I managed to get an 87%.  I figured I would do worse.  If you want to try it out, it's at the same link.
 
It looks like we are going to start seeing builds more and more (I haven't even installed the June release any where).  Currently only Standard Edition is out for July (Profressional and Team Suite should be out later this month).  I probably won't download it until Team Suite comes out.
Microsft has some free skills assessments available for ASP.NET 2.0 and Visual Studio 2005.  I took the ASP.NET 2.0 one and I got a 77% (clearly I don't know anything).  Anyhow if you are bored, take the test and see if I have taught you any thing.
 
One of the biggest complaints about typed datasets (and untyped ones as well) is that when you serialize them (i.e.: convert them to XML to be transferred to a web service), they always emit the schema definition.  This results in excess data being transferred when it really is not necessary.  A new improvement in .NET 2.0 is the ability to set the SchemaSerializationMode property on the DataSet object.  By setting this to SchemaSerializationMode.ExcludeSchema, the DataSet will not output the xml schema, just the data.
More Posts Next page »