October 2006 Entries

Here's a great document that details all the changes from CTP to Beta 1 as well as a comprehensive matrix of features that have been moved out of the "Core" and into the "Value-Add" library in Beta1 of ASP.NET AJAX. I am a big fan of the refactoring that has happened throughout the "Core" library. A great example is the creation of the lower-level DomElement class that just offers static methods to manipulate DOM elements rather than being instance methods off of the Control class.

posted Saturday, October 21, 2006 8:06 PM | Comments |

Well, if you've been playing with Atlas, you probably want to run right out and download this latest release. It incorporates a lot of changes which Scott Guthrie covers over here.

As someone who's had access to the latest bits for a while now, I've been aware of the changes they were going to make, but now I can finally talk about them publicly a bit. I'm somewhat dissapointed that certain features (xml-script, client-side databinding, etc.) did not make it into the "Core" package, but Microsoft has made a great decision to release these as part of the "Value-Add" CTP. While will fully support everything in "Core", you're on your own with the "Value-Add". Personally, I'm fine with that. It's way better than taking it away and sitting on the technology internally. Also I think it's great that the "Toolkit" package is really controlled by the community.

posted Friday, October 20, 2006 5:41 PM | Comments | Filed Under [ .NET Web Development ]

As a huge fan of all things on Adult Swim, I had to make sure to catch the premiere of Frisky Dingo. It was frickin' hilarious. I was a huge fan of Sealab 2021 and this is from the same group of people. Not that I like to encourage copyright enfringement, but if you didn't get a chance to see it, someone just threw the first episode up on YouTube. Here's part 1 and part 2. Be prepared to laugh out loud. :)

posted Friday, October 20, 2006 4:37 PM | Comments | Filed Under [ Personal ]

Just received word that we landed on the Deloitte's Technology Fast 500 list again. This year we came in at 194th on the list. The year's not over, but it's already been stellar for the company. Year over year we continue to double our growth and that's a sure sign of a sucessful company. It always feels good to be a part of it, but it's even better when you're recognized by someone else for it.

Congrats to the whole team!

posted Thursday, October 19, 2006 6:08 PM | Comments | Filed Under [ Personal ]

Ars Technica reports that XPS is on it's way to a Standards Body. Interesting... I wonder what Adobe is going to do now.

posted Thursday, October 19, 2006 5:54 PM | Comments | Filed Under [ WinFx/Vista ]

Just throwin' this post up because I was suprised by a compiler error I just received and noticed that there were only two search results for it when I looked for an explanation. Basically the problem is exactly what the title of this post says: you can't access ref/out parameters from within an anoymous delegate. The exact C# compiler error you'll get is:

Cannot use ref or out parameter 'yourParameterNameHere' inside an anonymous method block

At first I was like "hmm, that's pretty lame... wonder why that would be?". Then I thought about the actual implementation of anonymous delegates and the way that variables are "enclosed", which is detailed very nicely by this MSDN Magazine article, and it all made sense. Obviously they have no way to do a "pointer to a pointer" on the class that the compiler emits since there's no such concept available in safe, managed code.

That said, the work around is pretty easy: in your method that takes a ref/out parameter you just need a local variable which you work with internally and assign that reference to the parameter when the work is done.

posted Tuesday, October 10, 2006 10:03 PM | Comments |

When I installed RC1, it took the usual 20min. Saturday when I installed RC2 it took 1hr and 45min. I had to think about it for a little while until I realized what it could be, but now I think I know. One thing that was really neat about installing RC2 is that it was the first time I didn't have to load drivers for my SATA controller. I was pleasantly surprised that this far down the road Microsoft finally provided a generic SATA controller driver. Unfortunately, it seems to have some serious capatibility issues with my Promise FastTrack 378 controller. Basically some writes to disk (seems like writes only, but I dunnuh for sure) will cause the writing program to hang for upwards of five minutes at a time. Worse though is that I figured that today I would just go and install the real controller drivers that I had searched high and low for and finally enabled me to run Vista, but RC2 just won't accept them... says they're not compatible with my controller. Also, the audio driver supplied for my RealTek by MS via Windows Update on RC1 was working, but in RC2 I hear it "pop" when it initializes and then the device stops working.

Argh! Never good when things take a step backwards. Anywho, I can say that when that driver isn't "stalled" RC2 seems to be performing much better. I can live without the audio until it's fixed, unfortunately the driver "stalling" is pretty crippling. I don't know why it won't install the SATA drivers I have. Could they really have changed something that radical since RC1 that the drivers wouldn't work anymore? Maybe it's because it's not even recognizing it as the device it really is (it doesn't show with its real device name in device manager)?

Update 10/9 5PM (ET):

I have filed a bug about this on Microsoft Connect. So far all I have gotten in response is the canned response of "check the manufacturer's web site for the latest version of the DLL". Ohhhh if only it were that simple...

Update 10/10 12PM (ET):

It turns out the version of the drivers that ship with RC2 for the Promise FastTrak are horribly broken, but the version that I have work flawlessly. As for what I said about not being able to install the drivers in RC2, I have to admit that was my fault. For whatever reason, my brain wasn't working yesterday and I was trying to update the drivers for the HD and not the controller. Once I updated the driver for the controller and rebooted everything was awesome. I'll make the version of the drivers that work available here for anyone else out there who has this same controller just in case they need it.

posted Monday, October 09, 2006 2:46 PM | Comments | Filed Under [ WinFx/Vista ]

I was having a problem with serializing a FaultException that had a custom details class that was a collection. Today I figured out that, when using the DataContractSerializer, you need to make sure you provide a setter implementation even for your collection based properties. Once again, this is a departure from the way that the XmlSerializer works. I'm trying to work through the scenarios where this is any kind of improvement over XmlSerializer, but I cannot think of any problem this solves.

Welp, I hope this saves someone else some headscratching. I truly hope Microsoft lifts the restriction of only being able to serialize fault details with the DataContractSerializer... I'm just not a fan of it at all.

posted Monday, October 02, 2006 9:45 PM | Comments | Filed Under [ .NET WinFx/Vista Web Services ]

So a couple days ago I posted an entry about how to implement a custom transport that allows you to send message credentials over plain old HTTP. Unfortunately when I rolled this into the test environment where I had all the "real" infrastructure in place I ran into a new problem. It appears that the username token implementation built into WCF has some hardcoded logic for how it deals with addresses. I have filed a bug over on Microsoft Connect and I hope that Microsoft addresses it soon. Lately they haven't responded to a single post I've made about WCF problems in the forums including the original question about how to even solve the SSL passthrough problem. :(

The fact is, there's a workaround but it's completely unreasonable because none of Microsoft's own web service stacks (WSE, WCF, built in .NET) make it easy to change the address of the request. They just assumes that the wsa:To should be the URL that your connecting to... and technically this is right 99% of the time. The workaround for now is that I have to have my client connect to https, but change the actual wsa:To to be http. Does it work? Yes. Should I have to resort to that? No way. :\

posted Monday, October 02, 2006 6:07 PM | Comments | Filed Under [ .NET WinFx/Vista Web Services ]

As of last Friday, something nasty seems to have happened to my Vista 5600 install. Basically the problem started when I came in in the morning. Instead of logging into my session that I had locked out the night before, it was at the initial logon screen. I figured it musta just taken a dump and so I logged in. Everything seemed fine until I went to run Excel. I clicked it on the start menu, got no error, but it never launched. I tried again, no good. Here's the weird part: if I actually go to the .exe in Program Files and click on it, it runs. Then the problems got worse. I launched WMP to listen to some music and my entire library was gone. Oh, it's still all there on disc, but the WMP meta-data is completely gone. I looked at my settings and it had all the paths that I wanted it to watch in there, but I cleared them out and tried to add it again to get it to rebuild the library. This didn't work at all. It cleared all the paths, but now I can't add any paths back in. Since then, Excel is not the only program I can't run every time. WMP now won't run off the quick launch or start menu either. Nor will PowerShell.

As for the application start up problems, the only thing I can think of is that something must be hosed with PreFetch. If you look at your start menu and quick launch links, the shortcuts all have /prefetch:1 as an argument. Obviously when I click the exe in explorer this parameter isn't passed. Anyone have any clue how to "clear" the prefetch cache or whatever?

As for my WMP library disappearing, I have no clue if it's related or not, but it sure sucks. Looks like I'll be upgrading to 57xx sooner than expected. :(

posted Monday, October 02, 2006 3:22 PM | Comments |