May 2008 Entries
Rather than write this stuff myself, I've included a couple of good articles that get through the concepts quickly and easily. Why should you care about XML Namespaces? XML is everywhere, even if you don't work directly with it. As IMC moves more to web services, our systems are sending more and more XML over the wire. We're also starting to use it in the databases as a flexible data storage mechanism. In all of these cases, we must carefully design the namespaces so that we don't get collisions between two systems or two versions of the same...
For the most part, Microsoft did a very nice job of making TFS 2005 stuff work with TFS 2008 and vice-versa. There's one area that just isn't compatible: Team Build. This is a bit of a sticky issue. Let's take our planned approach here: Upgrade some people to VS 2008. They start writing apps with VS 2008. Let's say that they are even targeting the 2.0 framework. They add their stuff to the nightly build. The build breaks because TFS 2005 cannot build a solution from VS 2008. ...
Last night, I got my first look at the Silverlight 2.0 (beta1) development experience. I downloaded and installed the Silverlight tools for VS 2008 and dove right in. Overall, I'm very impressed with Silverlight. I read through the first bit of the help files to learn the architecture and basic concepts. For the most part everything makes sense. There were a couple of things that caught me off guard. These aren't show stoppers by any means. Just things that I didn't expect: 1) Silverlight 2.0 does not support synchronous calls to web services. You can add a...
Remember the C++ pointer stuff that you learned back in school? Messy stuff! Thank goodness for .NET where we don't have to worry about pointers and references, right? Wrong! It's still important to understand what kind of object you're working with. In some cases, your variable is really a pointer. In other cases, the variable is the data. Can you Handle It? I dare you! First, let's start with a little test... Take a look at the following code snippets and see if you can figure out the answers. The Test Done Already! ...
Caching is a very beneficial practice for improving application performance and efficiency. Conceptually, it is simple. However, there are a number of issues to take into account when caching data. I'd encourage you to read up on caching before you start using it though. As with all things, there are tradeoffs and challenges involved. So, be careful when and how you cache. Below is some info to get you started, but feel free to ask questions if you're doing caching for the first time. Caching is the practice of storing data in a location where it can be reused again...
Here's a little test to explore the way that value types behave differently than reference types when using .NET.
Enjoy!
1) Passing an instance of a Class to a method ByVal.
What's printed out:
a) 5
b) 15
Public Class MyNumberClass
Public Value As Integer
End Class
Module MainModule
Sub Main()
Sample1()
End Sub
Sub Sample1()
Dim oNumber As New MyNumberClass()
oNumber.Value = 5
Sample1_Add(oNumber)
Console.WriteLine(oNumber.Value)
End Sub
Sub Sample1_Add(ByVal num As MyNumberClass)
num.Value = num.Value + 10
End Sub
End Module
2) Passing an instance of a Structure to a method ByVal.
What's printed out:
...
Guidance Packages are awesome, but they do have a way of driving me crazy sometimes. They have a new version of the Guidance Automation Extensions, which is basically the runtime or framework that plugs in to VS. The new version was updated to support VS 2005 and VS 2008. The documentation indicates that the installers for guidance packages are now supposed to prompt you for which version of VS to install into. Not. After searching and reading about 20 different articles, plus using Reflector on the GAX dlls, I finally figured out that you have to...