Having Fun with WinDBG

I’ve been spending lots of quality time with WinDBG and the rest of the Windows Debugging Tools, and ran into something I thought was fun to do. For the sake of keeping it simple, let’s say I have a sample console application that looks like this: using System; using System.Collections.Generic; using System.Linq; using System.Text; using […]
Blog Post by: Tomas Restrepo

TFS Backup – easy way to wake up computer from sleep

I’m in the process of setting up TFS backup plan using the TFS Administration console. Setting up TFS backup plan using the administration console is so trivial, you can read Bharry’s post Backing up and restoring your TFS server for the details.

The challenge for us is, we don’t run the server in active mode all the time, the server goes to sleep after 3 hours of inactivity. If the server is sleeping our backup is not going to happen. I was looking for some options to wake up the server automatically from sleep at certain times in the night, just before our backup job kicks in. I found few options like setting the BIOS, few commercial options, and some custom coding options. In the end it turn out, there is nice little hack you can do to bring your PC alive just by scheduling a task using "Task Scheduler"

Just schedule a dummy task something like open command prompt and exit it straight away.

Ex: cmd.exe /c exit

Make sure you select the "Wake the computer to run this task" check box under "Conditions" tab

Now the server will wake up and ready before the TFS backup plan kick in.

Nandri!

Saravana

"Your folder can’t be shared" – Windows 7

Today I was trying to share a folder in Windows 7 in the home group and I was constantly greeted by an error message "Your folder can’t be shared". There are no other message or description about the exact reason why its happening.

I just ran the troubleshoot problems wizard (on the task bar, right click on the network icon, and click "Troubleshoot problem"), after some diagnosis the wizard gave me the warning the PC is connected to multiple networks, and it gave me the choice to open Network sharing center.

There were 3 active networks listed, I clicked on the "Local Area Connection 2", which brought the "Local Area Connection Status" window, and clicked on the button "Disable". I followed the same steps for "Local Area Connection 3".

Once this is sorted, now the folder sharing works like a breeze.

Nandri

Saravana

Find schemas deployed in BTS 2004N

If you need to find the schemas that are deployed and their unique root node names you can run this query.

Yes BTS 2004 still exists.

use biztalkmgmtdb
select msgtype as [Schema NameSpace#RootNode],
clr_namespace as [Assembly Name],
clr_typename as [Schema TypeName],
docspec_name as [Schema Namespace.TypeName]
from bt_DocumentSpec
order by msgtype

N
Blog Post by: Eric StottN

Find schemas deployed in BTS 2004

If you need to find the schemas that are deployed and their unique root node names you can run this query.

Yes BTS 2004 still exists.

use biztalkmgmtdb
select msgtype as [Schema NameSpace#RootNode],
clr_namespace as [Assembly Name],
clr_typename as [Schema TypeName],
docspec_name as [Schema Namespace.TypeName]
from bt_DocumentSpec
order by msgtype

Blog Post by: Eric Stott

Update to BAM Service Generator

I have previously written about how to generate a types set of WCF services to achieve end-to-end BAM based tracking – even from outside potential firewalls etc.  So for example external parties could log via a BAM solution when for example sending or processing messages that are part of your integration chain. In that post […]
Blog Post by: Richard

Update to BAM Service Generator

<br /> Gobbledygooks · Update to BAM Service Generator<br />

Jun 03, 2011

I have previously written about how to generate a types set of WCF services to achieve end-to-end BAM based tracking – making BAM logging possible from outside potential firewalls and/or from non .NET based clients.

In that post I reference a open source tool to generate the services based on the BAM definition files to be able to make types BAM API calls. I called the tool BAM Service Generator and it’s published on CodePlex.

The first version of the tool only made it possible to make simple activity tracking calls, even missing the option to defining a custom activity id. All advanced scenarios like continuation, activity and data reference or even updating a activity wasn’t possible. That has now been fixed and the second version of the tool enables the following operations.

  • LogCompleteActivity
    Creates a simple logging line and is the most efficient option if one only want’s to begin, update and and end an activity logging as soon as possible.

  • BeginActivity
    Start a new activity with a custom activity id

  • UpdateActivity
    Updates a already started activity and accepts a types object as a parameter. The typed object is of course based on what’s has been defined in the BAM definition file. Multiple updates can be made until EndActivity is called.

  • EnableContinuation
    Enables continuation. This is used if you have multiple activity loggings that belong together but you can not use the same activity id. This enables you to tie those related activities together using some other set of id (could for example be the invoice id).

  • AddActivivityReference
    Add a reference to an another activity and enables you to for example display a link or read that whole activity when reading the main one.

  • AddReference
    Adds a custom reference to something that isn’t necessarily an activity. Could for example be a link to a document of some sort. Limited to 1024 characters.

  • AddLongReference
    Similar to AddReference but enables to also store a blog of data using the LongRefernceData parameter – limited to 512 KB.

  • EndActivity
    Ends a started activity.

Let me know if you think that something is missing, if something isn’t working as would expect etc.

When are Instance Subscriptions created, after all?

When are Instance Subscriptions created, after all?

I stumbled with a situation where a Main orchestration calls a sub-orchestration, and this sub-orchestration sends back to Main a new message, using Direct Binding. The non-obvious behavior here is that the first Orchestration calls the second synchronously, so in theory the send in the second should fail, because the subscription is not there yet.

Since I knew that publishing with Direct Binding fails the sender orchestration if there is no subscription, I did a small test to check what was happening.

This is the main orchestration:

The first Send initializes a correlation set, and the second receive follows it. The Main Orchestration passes the initially received message as a parameter to the sub-orchestration, which simply maps it into a new one and returns the result:

I deployed this and did a Search for subscriptions in the Administration Console. The result is curious: the subscription for the Reply message (the result of the map) is not there yet when at “Wait 1”, but it’s created after the correlation set is created, so its there when “Wait 2” is reached. This is why the publish in the sub-orchestration doesn’t actually fail.

This behavior might be different in some cases, as reported here by Yossi: When is a subscription created for a correlation set passed as a parameter?.

Share this post: email it! | bookmark it! | digg it! | reddit! | kick it! | live it!


Blog Post by: Jo%u00e3o Pedro Martins

Interview Series: Four Questions With  Sam Vanhoutte

Interview Series: Four Questions With Sam Vanhoutte

Hello and welcome to my 31st interview with a thought leader in the “connected technology” space.  This month we have the pleasure of chatting with Sam Vanhoutte who is the chief technical architect for IT service company CODit, Microsoft Virtual Technology Specialist for BizTalk and interesting blogger.  You can find Sam on Twitter at http://twitter.com/#!/SamVanhoutte. […]
Blog Post by: Richard Seroter