Software Factories at Heartland Developer Conference

First, to all of you that attended my HDC presentation on Software Factories, THANK YOU!  I hope that as promised, the "Ah, Ha!" factor was high.  Also, I would like to apologize for the issues I ran into with the VPC and the demos.  I had tried the demo before with only two VS2005 instances running and had no issues with it...Apparently, four instances of VS2005 running concurrently is too much for VPC. Right after my presentation, I confirmed with Steve Loethen, a co-host of Code To Live, about coming up with the webcast series on Software Factories. I still to work out...

posted @ Thursday, October 18, 2007 8:01 PM | Feedback (613)

Technical Currently-Reading List

Ok, so I've just posted my current non-technical reading list so now here's my techinical currently-reading list: Programming Ruby: The Pragmatic Programmers' Guide, Second Edition - Dave Thomas, Chad Fowler and Andy Hunt I've been playing around with Ruby for quite some time now but I need a good reference book for it.  What other book to read than main source of Ruby knowledge out there!  After the announcement of the DLR (which I've downloaded already), I can't wait to do more of Ruby natively on .NET! Programming WCF Services - Juval Lowy Another great master work by Juval.  If you're currently doing WCF...

posted @ Monday, May 14, 2007 10:14 PM | Feedback (611)

WCF Performance Benchmarking

I've been meaning to blog about this for a while, but for some reason I keep forgetting (sorry, I've been busy at work).  If you're wondering on how WCF compares performance wise to existing distributed communication technologies (ASMX, WSE, Enterprise Services, .NET Remoting) you should definitely check out this white paper on MSDN: A Performance Comparison of Windows Communication Foundation (WCF) with Existing Distributed Communication Technologies

posted @ Tuesday, April 10, 2007 7:21 PM | Feedback (611)

ClickOnce and .NET Framework 3.0

We have this document generation app that uses WCF for connecting to our middle-tier server.  In order for users to run the application, they need .NET Framework 3.0 installed on their machines.  To accomplish this task, I decided to use ClickOnce since it will download the pre-requisites during the installation process.  However, when I tried publishing the application, to our intranet, I ran into this issue with the process: No 'PublicKey' or 'Hash' attribute specified for file 'NETFX30\Dotnetfx3.exe' in item '.NET Framework 3.0'. No 'PublicKey' or 'Hash' attribute specified for file 'NETFX30\Dotnetfx3_x64.exe' in item '.NET Framework 3.0'. Yeah,...

posted @ Tuesday, April 10, 2007 7:18 PM | Feedback (612)

COM Interop And WCF Services

Today, I spent the better part of my morning trying to troubleshoot a problem with COM interop within a WCF service. Here's the situation...  We currently have a legacy COM (VB6) component that creates a CSV file containing data needed to generate a PDF.  Unfortunately, we don't have the time to re-write this component to .NET, so we have to make due for now.    I first tried the component within a standard WinForm, and I was able to create/invoke it with no problems.  With this success, I proceeded to use said component within a WCF service so it could be exposed within our intranet (netTcpBinding). ...

posted @ Monday, April 2, 2007 5:11 PM | Feedback (612)

Vista and Office 2007 Downloads

If you have the time, check out these great downloads add-ons for VS2005. I already have .NET 3.0 framework installed on my laptop and ready to play with WF and WCF...this is just sweet!

posted @ Monday, November 20, 2006 2:13 PM | Feedback (611)

.NET Framework 3.0 RTM

That's right, if you're planning on doing some development with the .NET Framework 3.0, you don't have to use CTPs, any more!  They've shipped the product!  This is the beginning of a brand new approach of application development for the Windows platform.  Great job, teams!

posted @ Tuesday, November 7, 2006 9:39 PM | Feedback (619)

.NET 3.0 (WinFX) RC1

That's right, .NET 3.0 (WinFX) has hit RC1.  It's pretty much "the final product" from the sounds of it.  Go get your copy!

posted @ Friday, September 1, 2006 9:02 PM | Feedback (611)

Service Versioning in WCF

Here’s a really good post (with a flow chart!) in which Craig McMurty describes the steps and scenarios you should consider when making changes to your WCF contracts (service, message or data).

posted @ Sunday, July 23, 2006 9:35 PM | Feedback (614)

WCF Managing Tips

Our dear friend from the north and favorite DCC, Jeff Brand, posted some pretty good tips about managing/monitoring WCF applications he heard from Craig McMurtry (yes, this Craig McMurtry), Longhorn Server App Platform Evangelist.  If you got the time, check them out. I will have to say that if you’re not following tip #1, you’re a masochist; large XML config files != love. (FYI on tip #1, this is installed as a default tool in VS2005 when you install Beta2 of WinFX (sorry, .NET Framework 3.0)).

posted @ Sunday, July 9, 2006 9:56 PM | Feedback (611)

IsOneWay Property for WCF Operations

Kenny Wolf has a very good post on which he describes the reasons for setting the IsOneWay property of your OperationContract attribute to true.  If your operation has void return type, mark it with IsOneWay so … The service will release the connection (or complete the HTTP request/response by replying with null, etc) before dispatching to user code. If the operation is not marked with IsOneWay then our Dispatcher won’t reply until the Operation has completed An important thing to know if you’re want to your application to perform well by using the old “fire and forget” idiom.

posted @ Friday, July 7, 2006 9:49 PM | Feedback (612)

WSDL Generation in WCF

Kirill G starts to answer the question on how one can control various aspects of WSDL generated by WCF (Indigo) services.  His first post is on how you can control the namespace generation through either code or configuration files.  If you’re into Indigo (WCF) and would like to learn more about its inner workings, this is a good place to start.

posted @ Monday, June 19, 2006 9:31 PM | Feedback (612)

New WinFx Sites

Due to renaming of WinFX to .NET Framework 3.0, Microsoft has launched a new site,  With this site, you can now access each of the technologies by a sub domain.  For example, for WCF, goto  Check them out!

posted @ Monday, June 12, 2006 3:31 PM | Feedback (611)

WinFX Beta2 Released

That's right, Beta2 of WinFX (components, runtime and VS Add-ons) is out!  Go download it and have fun playing with the new bits. Microsoft Pre-Release Software WinFX Runtime Components - Beta2 Microsoft Windows Vista Beta2 Software Development Kit Microsoft Visual Studio Code Name “Orcas” Community Technology Preview – Development Tools for WinFX®

posted @ Wednesday, May 24, 2006 1:27 PM | Feedback (611)

Remoting Semantics for WCF

Doug Purdy posted some great information for using Remoting semantics (passing references and perserving object graphs) in Indigo.  Here are the main links: Perserving Object Graphs (Sowmy) Passing References (Michael)

posted @ Sunday, April 9, 2006 11:12 PM | Feedback (611)

MS Wants your Indigo Stuff

Clemens Vasters, Community Relations PM for Indigo, wants your WCF stuff (code, presentations, tutorial, articles, etc.) to fill up WCF's portal.  Check out his post if you have some samples you want to submit.

posted @ Sunday, April 9, 2006 10:57 PM | Feedback (611)

Atlas March CTP Released

That’s right, go get your copy of the Atlas March CTP release.  Not only that, check out the re-vamped Atlas Portal where you can find great tutorials and examples on the framework.  And for those of you playing with WCF and Atlas, check out this section of the documentation.  WCF + Atlas = I_NEED_MORE_TIME_TO_PLAY_AROUND_WITH_STUFF … Pretty awesome!

posted @ Monday, March 20, 2006 9:37 PM | Feedback (660)

Vista Feb CTP Released

Not sure how many of you know this, but there’s a new Vista CTP for download if you have an MSDN account.  What’s different from the other CTPs?  It’s feature complete and is in-sync with the just released WinFX CTP!

posted @ Thursday, February 23, 2006 10:22 PM | Feedback (634)

WinFX February CTP Changes

Forgot to post a list that Ed Pinto created that tells the changes of the new CTP.  You can check out the list here.

posted @ Wednesday, February 22, 2006 8:57 PM | Feedback (611)

WinFX February CTP

The WinFX Runtime Components Feb CTP is ready for download!  The nice thing about this is that there will be a a Vista build (5308.17) that will be in-sych with the WinFX Runtime Components (by way of Shy Cohen).  Check out the links below for more information: WinFX Runtime Components Windows SDK Microsoft Visual Studio Code Name “Orcas” Community Technology Preview - Development Tools for WinFX VS Extensions for Workflow WinFX RC February CTP “Readme”  

posted @ Wednesday, February 22, 2006 8:46 PM | Feedback (611)

BaseAddress Sample for WCF

Good friend, Matt Milner, has posted a good example for working around the requirement of creating a metadata access point through a service host.  I specially like his use of the System.Configuration classes.

posted @ Tuesday, February 21, 2006 9:40 PM | Feedback (611)

Hosting WCF Services In COM+

Excellent sample by Andy on how to host WCF services in COM+.  Also glad to see that they’ve changed the ComSvcConfing tool to not need the COM+ GUIDs.  Check it out!

posted @ Thursday, February 16, 2006 7:50 PM | Feedback (611)

WCF and WS-ReliableMessaging

This is a pretty good read from the WCF Forums.  Check it out.

posted @ Wednesday, February 8, 2006 9:18 PM | Feedback (612)

Great Application of WCF

Check out this awesome WCF application that Clemens Vasters created.  Go here to download the code.

posted @ Tuesday, January 31, 2006 10:09 PM | Feedback (611)

New Indigo (WCF) Portal

Just released!  A new Indigo (WCF) portal!  It’s jam packed with samples, resources, and forums.  Go check it out!

posted @ Wednesday, January 18, 2006 7:34 PM | Feedback (611)

WinFX January CTPs & GoLive licenses

That’s right, you can get the January CTP for the Runtime Components for WinFX.  Also this release, you can get a GoLive license for your production systems.  Oh the sweet coding…

posted @ Wednesday, January 18, 2006 7:30 PM | Feedback (611)

Service Orientation Tenet #1: Share schemas and contracts, not types and classes

I’ve been answering some questions on Google Groups dealing with ASP.NET web services. In some of the questions, people asked, “How do I send a <insert-user-defined-type-here> that’s in <insert-language-here> to a <insert-another-language-here> client?” Or, “Should I send a DataSet/XmlDocument/String to my client for my complex type?”. Clearly, there’s some confusion (or misunderstanding) about how types are represented in the service world. The purpose of this post (along with the proceeding three) is to share the basics principals outlined by the tenets of Service Orientation. I will present the tenets in no particular order…the reason I started with Share...

posted @ Friday, January 6, 2006 3:07 PM | Feedback (613)

WCF Contracts Article

Michele Leroux Bustamante (dasBlonde) published a great article at the Server Side .NET describing how you should use/program contracts for Indigo (WCF).  The article is about 20+ pages printed and a great read.  Go check it out…

posted @ Wednesday, January 4, 2006 10:53 PM | Feedback (611)

WinFX December CTP

Just in time for Christmas!  The latest (December) WinFX CTP components!!  The cool new features of the CTP is the Visual Studio Code Name “Orcas” CTP WinFX Development Tools. This package has the WPF designer for VS called “Cider”.  Also, the SDK installation is now a DVD iso image!  It’s about time!! Runtime Components Windows SDK VS2005 Development Tools For those of you that have previous versions of the CTP, you can use this uninstall tool to make installation easier.

posted @ Monday, December 19, 2005 8:51 PM | Feedback (611)

MSDN TV Holiday Special

Don Box and Chris Anderson showcase how you can use WinFX within your everyday lives on this MSDN TV episode.  I must say, their implementation is pretty cool … however, I wish I could say the same about their signing!  ;-) Check it out!

posted @ Saturday, December 17, 2005 9:40 PM | Feedback (611)

WinFX November CTP Available For Download

WOO HOO!! The WinFX team has finally released a CTP that will work with the VS2005 RTM bits! Here are all the links: WinFX Runtime Components WinFX SDK VS2005 Extensions for WinFX Runtime Components VS2005 Extensions for Windows WorkFlow

posted @ Friday, November 18, 2005 7:22 PM | Feedback (611)

SMTP Binding For Indigo

Steve Maine shows the great extensibility of Indigo by creating a binding that uses SMTP as its transport.  If you ask me, I think this is a pretty cool example on how Indigo can adapt to your needs. Thanks Steve for this great example!

posted @ Monday, November 14, 2005 10:34 PM | Feedback (612)

Indigo Proxies: Changing Endpoint Metadata At Runtime

During my Indigo talk at the HDC, I was asked about load balancing to another endpoint if your current proxy endpoint is down.  I took a look at this problem during lunch today, and this is what I did to solve it: If you created your proxy using svcutil, you will have a local copy of the service interface. In my second demo, I had the IEightBallService interface under my EightBallProxy.cs file.  The main proxy class, EightBallServiceProxy, inherits from System.ServiceModel.ClientBase<T> and implements the generated IEightBallService interface.  The EightBallServiceProxy class also encapsulates a System.ServiceModel.ChannelFactory<T>.  Which in turn, exposes a ServiceEndpoint through the ChannelFactory<T>.Description.Endpoint property.  So,...

posted @ Tuesday, October 18, 2005 10:15 PM | Feedback (670)

IndiPad: My Version

A couple of days ago, Don Box posted about WFPad.  In his post he mentioned that he wanted IndiPad.  Well, after working on for two hours last night, this is my take on IndiPad: This version of IndiPad has limited functionality!!  To open a .config file, you will need to select it’s corresponding assembly.  In other words, if you want to open myclient.exe.config, you need to select myclient.exe in the dialog.  Why?  Well, I’m using the ConfigurationManager.OpenExeConfiguration method to load the .config file into a Configuration object.  This way, I can get the system.serviceModel/services and system.serviceModel/client config sections (Ok, I cheated and disected...

posted @ Monday, October 10, 2005 9:51 PM | Feedback (619)

.NET Remoting to WCF Migration Post

Matt Tavis posted a pretty good guide for converting your .NET Remoting components to WCF.  Pretty good read!  Quick tally of hands, how many of you out there use .NET Remoting as, well, your remote solution?

posted @ Monday, October 10, 2005 8:08 PM | Feedback (2236)

WinFX September Nice-to-knows

[OverDuePost] I should have posted this about a week ago when I first ran into these issues.  If you’re planning on installing WinFX September CTP (beta2), know this: This CTP installs a new version of the framework.  You must first uninstall your current framework version. Due to the new version of the framework, SQL Express doesn’t work. The SDK and VS Extensions only work with beta2 of Studio. As previously posted, your beta1 WinFX code will need to updated to work with beta2.  I got a little ahead of myself when I was installing the CTP and because of it, I had to reformat my laptop.  Hope this helps anyone who’s about...

posted @ Thursday, October 6, 2005 8:37 PM | Feedback (589)

WCF Clients: Proxy or ChannelFactory?

Michelle Leroux Bustamante (dasBondle), posts a good question:  What’s a WCF best practice, Proxies or ChannelFactory?  If you take a look at her comments, you can read my two cents on the issue.

posted @ Saturday, October 1, 2005 11:19 PM | Feedback (623)

WCF Beta2 Changes

Earlier, I had mentioned that I will blog about the changes for beta2 of WCF.  Well, Omri Gazitt already blogged these evident changes. If any of you have have written any apps with beta1, I recommend you read his post to help you troubleshoot your changes.

posted @ Saturday, October 1, 2005 11:09 PM | Feedback (646)

WinFX Beta1 to Beta2 (September CTP) Issues

Just wanted to mention that there are significant changes from Beta1 to Beta2 for Indigo (Windows Communication Foundation) that will make your beta1 applications not to work under the new version. Right now I’m trying to sort through all the big differences.  Thus far, I’ve found out the following: wsProfileBinding is no more.  wsHttpBinding is now it’s equivalent, also System.ServiceModel.IProxyChannel for your proxy client is no more. I will try to point out the big changes for the two versions of Indigo.

posted @ Thursday, September 22, 2005 11:22 PM | Feedback (611)

New Indigo Article on MSDN

Clemens Vasters has a new article on MSDN entitled Introduction to Building Windows Communication Foundation Services.   The article gives you a nice run through the major parts of Indigo (WCF) and what it can do. Check it out when you have the time!

posted @ Sunday, September 18, 2005 11:58 AM | Feedback (611)

WinFX CTPs Released

The WinFX September CTPs have been released.  Click the next links to get your fill of goodness. Runtime Components SDK VS Extensions

posted @ Wednesday, September 14, 2005 10:19 PM | Feedback (611)

Microsoft Max

I’ve only played with this for a few seconds and all I can say is that it’s pretty sweet…check it out!! What is it? it’s a pretty sweet implementation of Avalon and Indigo…can you imagine writing applications like this one?

posted @ Tuesday, September 13, 2005 8:48 PM | Feedback (611)

Indigo Programming Models

Richard Turner posts information about the support for “RPC” and “Messaging” programming models within Indigo.  A quick read with good information.

posted @ Thursday, September 8, 2005 10:36 PM | Feedback (612)

Article On Performance For ASMX, ES and .NET Remoting

While doing some of my ES research, I bumped into this article by Richard Turner, PM for Distributed Systems Group, and Ingo Rammer from thinktecture.  This is a great read for those of you that are evaluating which technologies to use for their enterprise.  They also compare the passing of [Serializable] objects and DataSet objects across your services. Ok, on a side note why would you want to pass a DataSet across your layers?  Let me see…Oh yeah! I want my performance to suffer due to the extra work serializing all of the internal objects!!

posted @ Monday, August 22, 2005 9:38 PM | Feedback (611)

Windows Vista Fun

Well, I've been out of the bloggin scene for the past week due for many reasons.  The most important one is that I've been down at a customer site and it's hard to blog when they monitor your internet access.  I make a note to blog about my finding and run-arounds with technology when I get home, but I always forgot or get sidetracked.  On 7/30, I installed Vista as my base OS.  Why did I do that?  Well, the VPC ran like sh*t!  It was soo slow that was a complete waste of time to do anything on it.  Vista...

posted @ Monday, August 8, 2005 11:05 PM | Feedback (611)

Indigo Is No More

Got your attention?  Well, the marketing folks at MS didn’t think that Indigo was a clever market name for the technology.  So, what do they come up with?  Windows Communication Foundation.  Do you see the resemblance in the names?  Oh for those of you who are Avalon oriented, it’s now called Windows Presentation Foundation.  Yeah, my thoughts exactly.  Thanks to DBox for posting it.

posted @ Wednesday, July 27, 2005 1:17 PM | Feedback (633)

Installing Indigo As Easy As 1-2-3

There’s an MSDN article entitled, Installing Microsoft Pre-Release Software Code-Named "Avalon" and "Indigo" Beta1 Release Candidate (RC) that steps you through the process of installing Indigo on your  machine(s).  It covers the installing of the SDK along with the VS.NET 2005 integration components. If you are wondering the how’s and what’s of the installation it’s worth the read.

posted @ Tuesday, July 26, 2005 4:04 PM | Feedback (615)

Heartland Developer Conference 2005: It Ain't Easy Being Blueish

Well, Jeff, Phil and Kent have been promoting their Heartland Developer’s Conference (HDC) talks, so I figured I would jump on the bandwangon.  My presentation topic is on Indigo, the new managed communication framework for .NET.  Here’s the snippet for the session: Indigo: A crash course in next generation messenging Track : Behind the Curtain Day  : 2 ( 2:30PM - 4:00PM) This talk will be about Indigo, the code name for Microsoft’s infrastructure and programming model for building connected applications. We will cover its role in service orientation, messaging architecture, programming model and interoperability with other messaging services. If you’re currently using other...

posted @ Tuesday, July 26, 2005 3:58 PM | Feedback (631)

Fix: Hosting Indigo Service On IIS

All I have to say is RTFM!  Well, if I would have looked at the SDK document a little bit closer, I could have read the answer!! Anyway, here’s the updated configuration file:<?xml version="1.0" encoding="utf-8" ?> <configuration> <system.serviceModel> <services> <service serviceType="Lozanotek.Examples.Indigo.TestService"> <endpoint address="" bindingSectionName="basicProfileBinding" contractType="Lozanotek.Examples.Indigo.ITestService" /> <endpoint address="/ws" bindingSectionName="wsProfileBinding" contractType="Lozanotek.Examples.Indigo.ITestService" /> <endpoint address="/wsDual" bindingSectionName="wsProfileDualHttpBinding" contractType="Lozanotek.Examples.Indigo.ITestService" /> </service> </services> </system.serviceModel> </configuration> Ahh, the sweet smell of functional code…

posted @ Thursday, July 14, 2005 1:57 PM | Feedback (620)

Hosting Indigo Service On IIS

Ok, you problably have already read how to accomplish this from either the SDK docs or another blog.  I just wanted to add a little aside to the configuration of your IIS hosted service.  When you configure your service to run under the direct virtual path, i.e. http://servername/virdir/serviceName.svc, you can ignore the value of the address attribute under your endpoint definition since the address is relative.  However, I’ve been having a heck of a time trying to define multiple endpoints for the same service.  Take the following configuration layout: <?xml version="1.0" encoding="utf-8" ?> <configuration> ...

posted @ Thursday, July 14, 2005 1:09 PM | Feedback (628)

I'm Currently Reading ...

Here's the new book on my night stand ... Programming "Indigo": Code Name for the Unified Framework for Building Service-Oriented Applications on the Microsoft® Windows® Platform Beta Edition Check it out!

posted @ Thursday, July 7, 2005 10:24 PM | Feedback (614)