What Was I Thinking?

Follies & Foils of .NET Development

  Home  |   Contact  |   Syndication    |   Login
  74 Posts | 0 Stories | 191 Comments | 0 Trackbacks

News

Archives

Post Categories

Check These Out

Gurus

January 2008 Entries

My work laptop is a fairly beefy machine. Dual Core Intel T7800 with 4 GBs of ram, running Vista Ultimate 32-bit. Some firmware and OS limitations limit my effective memory addressing to 3.26 GB, but still this machine is no slouch. I could never figure out what about my configuration caused seemingly simple operations like extracting the contents of a zipped file to take SO LONG. I fiddled with this setting and that setting but to no avail. Finally I got fed up and turned to the all-knowing Google....
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

I'm currently working on a WCF/WF project where we've replaced .NET's DataContractSerializer default with the NetDataContractSerializer. The following is from the MSDN help file: The NetDataContractSerializer differs from the DataContractSerializer in one important way: the NetDataContractSerializer includes CLR type information in the serialized XML, whereas the DataContractSerializer does not. Therefore, the NetDataContractSerializer can be used only if both the serializing and deserializing ends...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Microsoft has extended the deadline for the .NET 3.5 technologies certification exam betas. There are certification tests available for WCF, WPF and Windows Workflow. You can take the exams for free, if you pass they will count towards your overall MS certification. Interested? Read more about it here...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Any C# project can contain Workflow definitions. They're just code file and/or XAML files. The trick is getting Visual Studio to recognize the project as supporting worfklows for design-time support and compilation. To enable a project for Windows Workflow,: Open the project in visual studio. If you're using source control check out the project file so it becomes writable In the Solution Explorer, right click and select Unload Project . The project tree will disappear from the solution explorer and...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

.NET's XMLSerializer can be pretty stupid. It refuses to serialize an object if its properties are of a derived type. Consider the following example: [Serializable]public classPerson{ public stringFirstName { get; set; } public stringLastName { get; set; }}[Serializable]public classSalesReceipt{ publicPersonCustomer { get; set; }}[Serializable]public classEmployee:Person{ publicDateTime DateOfHire { get; set; }}public classtrythis{ public voidmain() { Employee employee = newEmployee{ DateOfHire =...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

This is the functional equivalent of a "type is anothertype" but for interfaces: public static bool TypeImplementsInterface(Type type, Type interfaceType) { string interfaceFullName = interfaceType.FullName; return type.GetInterface(interface... != null; }...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

The short answer is you can't. At least not without some trickery and giving the serializer some help, and even then it's not pretty. Here's the plain-jane implementation. Note: The following snippet WILL NOT WORK public interface IWorker { string WorkerName { get; set; } } [Serializable] public class ImplementedWorker:IWorker { #region IWorker Members public string WorkerName { get; set; } #endregion } [Serializable] public class WorkToDo { public IWorker Worker; } public void Tryme() { WorkToDo...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

I recently upgraded my mouse and keyboard to the Logitech Wave wireless combo. The keyboard is taking a bit of getting used to (odd location and sizing of the delete, home, and end keys) and the wave design of the keyboards is... different. Overall though I am very pleased with the hardware. The mouse seems responsive and the keyboard is packed with loads of "doohickey" keys for launching media players, my favorite applications, pictures, even Windows media center (which I had never run before getting...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

This is an adaptation of the code from the MSDN help file. I prefer it to calling Thread.Abort() as a first chance approach for terminating a thread. A word of caution: It looks as though the ThreadAbortException skips over any finalization code that might occur inside of the executing thread. For example, the background threaded code was using an IDisposable resource (like a reader/writer), I don't believe the finalizer gets called on the resource, leaving it open. In my example, I've added a flag...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Just when you think you know all you can know about something.. Ctrl+Plus (on the number pad) will auto resize your ListView columns. Go ahead, try it! You know you want to
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

I'm working on a project that involves building a library of string resources. Some of these resource values are small, consisting of a sentence or two, other resources are actually embedded XSL's, and can be quite lengthy. Visual Studio's built-in resource editor might suffice for other resource types, but is painfully inadequate for a large resource strings. My experience with the Visual Studio editor involves waiting 45-70 seconds for the initial data grid of strings to load, and another 30 seconds...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati