October 2004 - Posts
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.
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...
<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.
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.
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.
... when it errors out. Chalk one more major corporation on ASP.NET... now if only they'd get their site working...
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...
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 »