Robert McLaws: FunWithCoding.NET

Public Shared Function BrainDump(ByVal dotNet As String) As [Value]

News

<script type="text/javascript"><!-- google_ad_client = "pub-4330602465258980"; google_hints = "ASP.NET, VB.NET, C#, C#.NET, WindowsForms, .NET Framework, VS2005, Visual Studio, XAML, WinFX, Windows Workflow, WPF, WCF, Atlas, NetFX3, Visual Studio Orcas"; google_ad_width = 120; google_ad_height = 240; google_ad_format = "120x240_as"; google_ad_type = "text_image"; google_ad_channel ="4997399242"; google_color_border = "B6C9E7"; google_color_bg = "EFEFEF"; google_color_link = "0000FF"; google_color_text = "000000"; google_color_url = "002C99"; //--></script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<!--
-->

You should feel free to challenge me, disagree with me, or tell me I'm completely nuts in the comments section of each blog entry, but I reserve the right to delete any comment for any reason whatsoever. That said, I will most likely only delete abusive, profane, rude, or annonymous comments, so keep it polite, please.

Blogroll

Cool .NET Articles

My .NET Tools

My Builder.com Articles

My MSKB Articles

October 2004 - Posts

Provider Model MSDN WebCast

Been so busy preparing for it, that I forgot to mention that tomorrow Jeff Julian and I are hosting an MSDN webcast on the Provider Model in ASP.NET 2.0. I have a special announcement planned for the end of the presentation, so if you're into the Provider Model at all, you'll want to be there.

Hey, The Test Said It, Not Me
You are .exe When given proper orders, you execute them flawlessly.  You're familiar to most, and useful to all.
Which File Extension are You?
Visual Studio 2005 Delay Rumors

TheServerSide.net posted news that SQL Server 2005 is being delayed. Frans and Fabrice have weighed in. It's my turn. Here it goes...

In an earlier article over on LonghornBlogs.com, I talked about the software wave and how major dependencies affect product ship dates. To save you some time, I made a diagram.. :).


Figure 1: Dependencies in the Yukon Wave

Based on this logic, it stands to reason that, before SQL Server 2005 can ship, Visual Studio 2005 and .NET "Whidbey" would have to have shipped already. Being that SQL Server 2005 is a server system that HAS to be reliable, scalable, and extremely fast, it stands to reason that Microsoft is going to need time with the release .NET build to make sure that everything is tuned as much as it can be.

So, before everyone starts getting really pissy about release dates and what not, lets jump back to reality here. Notice that nothing was said about VS2005's release date. if you think about it, Microsoft said a while back that VS2005 would ship in the May-July tineframe, and I don't think that has changed. You should have seen this slip coming months ago, and until Microsoft officially says that Visual Studio 2005 and SQL Server 2005 are being released on the same day, it would be pointless to spred FUD by speculating or assuming otherwise. You know what they say happens when you assume...

Has Scott McNealy Learned His Lesson???

<Skit in Robert's head...>

This just in. Scott McNealy holds a press conference and doesn't bash Microsoft. Film at 11. In other news the High in Phoenix was 21 degrees today...

<End skit>

Those are seriously the kinds of things I see in my head when I hear things like this...

I can't believe it. He didn't have some smart-assed comment about Bill or whatever. He did stay that Ballmer was "all over" Gates to get something done. There's a switch. That'd be like me telling my dad to be more responsible. I bet that's gotta be awkward.

Anyway, one of my very first posts was about how far off-kilter he was. It's nice to see that he's steered out of the crazy-skid... even just a little bit. Now only if John Kerry was in teh car behind him... ah well.  We'll leave that one alone for now.

The Provider Model: Usage Guidelines

Ryan Whitaker wants you all to stop the Provider Model madness that apparently is about to explode. Kinda funny. A preventative strike against Provider Terror throughout the world. Heh.

I do agree with him on the specific point he makes. You should not use the Provider Model for unnecessary extensibility. What extensibility would be unnecessary? Well, as Ryan states, the off-chance that you'll swicth from using one third-party component to another. Remember, you CAN have too much of a good thing.

Here is a guide to determining when you SHOULD implement the Provider Model for an application subsystem:

  • If the subsystem is part of a workflow that is anticipated to change often enough that the application will have to be frequently redeployed.
  • If the app specs require the subsystem to be able to process information through multiple channels simultaneously. For example, you need to send an order out to multiple vendors, three of which use distinctly separate web services, and one uses e-mail.
  • If the app specs require public third-party extensibility, meaning that end-users need to be able to write their own providers.

So when shouldn't you use the Provider Model? That's an easy one:

  • Data Access Layers. DO NOT use the Provider Model to write data access logic. ADO.NET 2.0 has built-in capabilities for that. I will post code demonstrating this at a later date. UPDATE: There are some exceptions to this rule, which I will discuss later next week.
  • Utility apps. If you're the only one that is ever going to use the program, there is no sense in investing the time necessary to construct a well-designed Provider Model architecture.
  • Component-swapping. Back to what Ryan said before.... just don't do it.
  • Because everyone else is doing it. Come on. Be an architect. Think your design out, and only use it if it makes sense to.

More Provider Model-related news coming shortly... stay tuned.

MSBuild Toolkit Passes 300 Downloads
Wow, lots of people are using the MSBuild Compatibility Toolkit I put out a couple weeks ago. Awesome! I hope it is working for you guys. I'm working on improving the .Targets files to support more of the older compiler options, and I'll be working on releasing those, along with tutorials on how the compilation variables work, very soon. I'm also planning a few nifty additions, but tracking down the code in the VSIP 2005 package has been difficult. Hopefully I'll have some answers back from the VSIP guys soon, and I'll be able to really make the thing sweet. Plese let me know if you guys have any suggestions on how to make this system better.
Chris Pirillo is at it Again!
The Channel 9 Guy tours Silicon Valley with Scoble progeny Patrick. Hilarious.
Easiest Way To Tell if a Site is Running ASP.NET

... when it errors out. Chalk one more major corporation on ASP.NET... now if only they'd get their site working...

Eagerly Awaiting Today's Deliveries

I'm supposed to get 2 big things delivered to my doorstep. The first is the new processor/RAM/and keyboard upgrades I picked up on eBay for dirt-frickin-cheap. The second is my MVP package, which was renewed again this year. I made the smart call and switched to DVDs for the MSDN subscription... but that's not what I'm waiting for. Susan Bradley alluded to it... could it be? Is it possible? Does it have a Windows logo on it and play TV shows? Oh man, I hope it gets here soon. I don't know that I should get my hopes up. And don't anyone tell me, either! I wanna be surprised. <crosses fingers>

Today's gonna be a geeked out day... will give me something to do while my Grandpa has heart surgery this afternoon. They're putting in a stent, which I'm told involves roto-rootering up the arteries through the groin, blowing up a balloon, and jamming a chinese finger trap near the heart to keep the artery open and blood flowing. And you're awake the whole time. Fun. I couldn't stand it. I'd make an orderly whack me upside the head with my (empty) bedpan a few times till I was out cold. I hear you become your own Discovery Channel special, too. Maybe I can get Ken Burns to narrate it for me.

Maybe somewhere in between all that I'll actually get some work done.... yeah right. Now if I could just hack my Cox DVR box...

Fixing the ASP.NET Authentication Vulnerability

I'm not going to jawjack about how important this fix is, blah blah blah. Microsoft's working on a patch. In the meantime, EVERY ASP.NET developer should add this information to their Global.asax file ASAP. If you add it to the ASAX file and not the code-behind, you won't even have to recompile the app. DO THIS NOW. Please. More Info Here.

Global.asax code sample (Visual Basic .NET)

<script language="vb" runat="server">
Sub Application_BeginRequest(Sender as Object, E as EventArgs)
    If (Request.Path.IndexOf(chr(92)) >= 0 OR _
        System.IO.Path.GetFullPath(Request.PhysicalPath) <> Request.PhysicalPath) then
        Throw New HttpException(404, "Not Found")
    End If
End Sub
</script>

Global.asax code sample ( C#)

<script language="C#" runat="server">
void Application_BeginRequest(object source, EventArgs e) {
    if (Request.Path.IndexOf('\\') >= 0 ||
        System.IO.Path.GetFullPath(Request.PhysicalPath) != Request.PhysicalPath) {
        throw new HttpException(404, "not found");
    }
}
</script>
More Posts Next page »