Keyboard and the Windows Phone 7 emulator

By default the WP7 emulator will not react to you typing on the keyboard, instead you have to use the mouse to press keys on the software keyboard that pops up. There is however a hidden feature that will let you use your hardware keyboard, just press Page Up when the software keyboard pops up. And as an extra bonus the three buttons at the bottom of the phone can be activated using F1, F2 and F3 for back, home and search respectively.   Cool feature that makes development using the emulator a lot easier   Enjoy! [f1] [f2]

Getting started with WCF Discovery

One of the cool new features in WCF 4 is the support for WS-Discovery.   So what makes WCF Discovery so cool? Normally when a client application wants to connect to a WCF service it has to know several thing about the service like the operations it supports and where it is located. Knowing the operations at design time makes sense, after all this is functionality you are going to call. But the address makes less sense, that is a deployment things and something we don’t really want to be concerned with at design time. So we can specify the … Continue reading Getting started with WCF Discovery

Calling Workflow Services without Add Service Reference

Sometimes you just don’t want to do an Add Service reference in the client application but still be able to to call a WF4 workflow service. The good thing is that a WF4 workflow service is just another WCF service from the client perspective so almost everything you can do with a regular WCF service you can also do with a workflow service. And calling the service without doing an Add Service Reference first is one of those things. In these examples I am going to use the default workflow service template just to make it easy to get started. … Continue reading Calling Workflow Services without Add Service Reference

Windows Workflow Foundation futures and database access

Ron Jacobs showed a number of really cool new workflow features we can be expecting in the next version of Windows Workflow Foundation during the last PDC in Redmond and Tech-Ed Europe in Berlin. One of the new features he demonstrated where the activities we can use to load data from a SQL server database into our workflow. Most of the new features are really cool but the database activities are not.   Why don’t I like the new database activities With the new ExecuteSqlQuery<T> we are back to typing in a literal SQL string to be executed on the … Continue reading Windows Workflow Foundation futures and database access

Throttling workflow services in WF4

Windows Workflow Foundation 4 makes it real easy to create workflow services that do long running work on a server. However when we are doing long running work there could be an issue with lots of workflows being started and too many workflow instances competing for the same data and threads thereby causing problems like database timeouts or thread pool starvation. To simulate a busy workflow service I have the following sample workflow: The workflow service is started using a WCF request, returns a response, prints a start message, does some work and prints a message that it is done. … Continue reading Throttling workflow services in WF4

Versioning long running Workflow Services in WF4, the code

In my previous WF4 post I described the principal of how to version workflow services using the WCF 4 RoutingService. In that post I described the general problem and solution without going into a lot of detail and showing any code. In this blog post I will add an actual implementation you can use for reference purposes.   The basic layout The solution has three parts. The workflow service with 2 different versions of same workflow. The second version of the workflow has more activities in the tree so it can’t load workflow instances from version 1. Each workflow is … Continue reading Versioning long running Workflow Services in WF4, the code

Versioning long running Workflow Services in WF4

One of the problems with the current version of Windows Workflow Foundation is how to handle different versions of your workflows. With short running workflows this is no big deal, workflows do whatever they are supposed to do and finish, and you can deploy a newer updated version of your XAMLX files whenever you want. Provided the public facing SOAP interface doesn’t change no one will notice a difference and everything will work just fine. However as soon as we get into long running workflows and the SQL Workflow Instance Store things get quite a bit more complicated. As soon … Continue reading Versioning long running Workflow Services in WF4