In this Two Minute WF, we’ll talk about Core Services.
When the WorkflowRuntime is hosting your WorkflowInstance, there are certain things going on to help manage the environment the WorkflowInstance is running in. These runtime-level, globally accessible services are the Core Services. There are four Core Services:
- Scheduler: This is responsible for managing the threads used to run workflow instances. The default scheduler service implementation used if you don’t specify otherwise is the DefaultWorkflowSchedulerService. If you’re hosting your workflows in an environment with specific threading requirements (like within an ASP.NET application), you’ll need to change the scheduler.
- Persistence: This is responsible for saving and restoring workflow instance state. For example, you may have a long-running workflow (maybe minutes, maybe days) and you don’t want it in memory that whole time - this service saves the state when the workflow instance becomes idle and re-hydrates the instance when it’s time to resume. There is no default implementation of persistence, but a SqlWorkflowPersistenceService is available out-of-the-box.
- Tracking: This service helps in monitoring workflow instance progress. Very helpful in troubleshooting and tracing workflow instances for auditing and management. There is no default implementation of tracking, but a SqlTrackingService is available.
- Commit Work Batch: This service manages the transactions around batched work. For example, if you have several activities in a workflow that need to succeed or fail as an atom, they’ll participate in a work batch. If you don’t specify otherwise, the DefaultWorkflowCommitWorkBatchService will be used.
You can only have one of each of these services (except tracking - you can have multiple tracking services) per runtime.
The beauty of the way WF was written is that you can create your own custom implementations of any of these services and instruct the WorkflowRuntime to use them. For example, if you wanted to create a persistence service that stores all of your workflow states in XML files in the filesystem, you could do that. Or if you had a special way you wanted to track workflow instance events, like in a proprietary logging system, you could implement your own tracking service.
I don’t religiously analyze my blog stats, but every time I do go check out who’s looking at what, I’m always interested in the search terms that bring people to my site.
The weird thing is, far and away, the most used search term/phrase bringing people in to my site is:
you don’t have to be rich to be my girl
Like, lyrics from the Prince song, “Kiss.” It takes people to this article I wrote like six years ago about how I picked up a Tom Jones CD that had his cover version of “Kiss” on it. I get so much traffic to it that it’s always in the top five articles hit on my site.
In fact, if you Google that phrase, I’m currently the #1 result:
What are the crazy search terms that bring people to your site?
Rockstar has released the tracks from the radio stations in Grand Theft Auto 4 as MP3 downloads from Amazon. 256kbps, which is decent quality, though I’d honestly prefer lossless. May have to pick some of these up anyway.
Here are the tracks from my favorite radio station, Radio Vladivostok. My favorite tracks are “Zelenglazoe Taksi,” “Schweine,” “Wild Dances,” and “O tebe.” You can get all of the tracks from all of the stations at The Music of Grand Theft Auto.
Over the past few weeks I’ve noticed that, more and more often, my Xbox 360 will hang and give me an error message saying “the disc is unreadable” and inform me that I should clean the disc. Normally I’d say I have some pretty dirty discs, but the times it’s doing it, the discs are brand new - not even a single scratch. Eject the disc and pop it back in and it’s fixed. No cleaning required.
It’s averaging about every hour-and-a-half of game play now. I might play for four hours without interruption one day, but the next day it’ll happen two or three times in an hour. Since it’s really starting to get annoying (and seems to be happening at some pretty inopportune times, like just after you beat a really hard mission but before you can save), I called Xbox Support.
I’ll be sending my console in for repairs, this time for a failing DVD drive. This is the second bad DVD drive I’ve had. Let’s see…
- Bad DVD drive in July 2006
- Red Ring of Death in April 2007
- Frozen Screen in September 2007
- Xbox Dasbhoard Update Trashed my Hard Drive in December 2007 (didn’t require a new Xbox, but still)
…and now we’ve come full circle with a bad DVD drive.
The box to ship my console back to them should arrive tomorrow, per the UPS site. I’ll probably play through the weekend and then send it back. It’s not unplayable, just super annoying, and I’m so close to finishing the story missions in GTA4.