April 2006 - Posts

HandleExternalEvent Activity Requirements

While preparing for my next speaking engagement on WF, I came across an issue that cot me many many hours of time. I am not sure if it was because I took an unfortunate break from WF while training clients on ASP.Net 2.0, or if I still would have ran into the issue anyway. My problem was that my HandleExternalEvent Activity was not receiving the event when fired from my service. So I pulled up another example that I have used in many of my previous sessions and studied the differences of how I had wired it. I even thought that I had found a bug that I could report back since WF is beta, but the bug was mine! So instead of you having to deal with the same issue, I decided to share it and also list the requirements for using the activity.

  1. Must have an Interface to use as a contract with the HandleExternalEvent Activity
    • ExternalDataExchange attribute must be set for the Interface...ex. [ExternalDataExchange]
  2. When using custom EventArgs, make sure that they inherit from ExternalDataEventArgs and that the object is Serializable... ex. [Serializable] public class RentalArgs : ExternalDataEventArgs
    • HERE WAS MY PROBLEM...if one of your members returns another custom object, MAKE SURE THAT OBJECT IS SERIALIZABLE TOO...[Serializable]
    • Your custom args object will have an instanceId base property from inheriting from ExternalDataEventArgs, that should be set by the InstanceId of the workflow that is running
  3. Finally, make sure the service you build to implements the interface.

Want to learn more about WF or you can't afford TechEd! Come to Tampa TechEd Outcasts, June 12-16

VS 2005 Team System/Foundation Server Training

Visual Studio 2005 Team System and Team Foundation Server TWO Day Training
Sponsored by Microsoft Developer & Platform Evangelism East Region, Idea Integration, and DevFish.net >««(o>...
        May 1st – 2nd   Jacksonville, FL       
        May 8th - 9th    Jackson, MS    
        May 11th - 12th Birmingham, AL 
        May 30th - 31th Tampa, FL      
Kevin Ayers of Idea Integration http://www.bloglines.com/blog/kayers

Topics include abilities to understand the structure of Team System and Team Foundation Server, understand work item type definition and extensibility, define check in policies, track project status, create your own reports for tracking a project, create real world tests, navigate Sharepoint, navigate team explorer, use code profiling and code analysis to create better code, create and understand builds, and use DSM modelers to design your applications and better understand deployment.

Each lesson consists of lecture on key concepts and terminology followed by a brief demonstration. There will be no labs, but detailed documentation on the demonstration will be provided.

This is a FREE event.
Click here for full agenda and signup info: http://www.devfish.net/FullBlogItemView.aspx?BlogId=228

DevConnections PodCast

Here is a PodCast Brian and I did for Chuck Boyce, while at DevConnections!

Orlando Connections 2006

Brian and I have finally gotten our presentation together. It seems that we always wait till the last minute to make changes. Well I guess you can say improvements. This is the same scenario as PASS 2005! We wait till the last minute to add new material to make our presentation better. I guess we never like to show the same thing twice! This time we added some attacks other than SQL Injection. We decided to add XSS attacks in our Connections session. I think addition will show the full spectrum of how a hacker can exploit a site in a way different than a SQL Injection attack. Not only do we show how a site is compromised, but also how data is collected by the hacker about a user without them ever noticing what happend.

Anyway, DevConnections has been a blast and I think they did a great job organizing the conference. The best part is while preparing for the session, I get to rub elbows and chat with some of the elite that I look up to. The table that I am sitting at in the speaker room is almost levitating with such brain power from heavy weights like Juval Lowy, Carl Franklin, Rockford Lhotka, just to name a few!