Together with a colleague, I spent 2 weeks customizing the Web Service Software Factory, to change some of its behavior. It was the first time I used it in practice, apart from doing the tutorials and some peeking into the recipes and available actions. We basically modified the source of the contracts from XSD files to information stored in a database, some templates, and created a new template from scratch.

We changed the WCF version, not the ASMX, and what I found was that changing this factory is much simpler than creating one from scratch.

The documentation is still lacking (I still remember reading all the docs on GAT of one of the beta’s and being utterly unable to create a factory with it), but the factory’s actions are very well factored, and were very simple to change. Apart from the incomplete documentation, the feature that really irritated me was the lack of intelisense/syntax-coloring/debugging while writing t4 templates. A real nightmare. Microsoft should look into this ASAP. I called a friend asking for advice, and his comment was: “Just leave your generation code out of the templates, in .net helper methods. There’s no way around it.

I also like the pattern the factory uses to create projects and organize the code’s functionality, and will use it surely in future projects.