Implementing Reliable Inter-Role Communication Using Windows Azure AppFabric Service Bus, Observer Pattern & Parallel LINQ


This post has been moved to a new location. Please follow the link below. Thank you.

http://windowsazurecat.com/2010/09/implementing-reliable-inter-role-communication-using-windows-azure-service-bus-observer-pattern-parallel-linq/

Comments (3)

  1. Exciting example in that it seems to provide a lot of useful functionality. However, testing it out I ran into a problem.

    Using the sample code linked to in this article, I started an Azure WorkerRole project, added the sample code files (all of them, it builds fine), inserted my own parameters for ServiceNameSpace, ServicePath, IssuerName, and IssuerSecret in InterRoleCommunicationExtension.GetInterRoleCommunicationEndpoint() (I hardwired them), and ran a simple project following the code in SampleWorkerRole. During the initialization of the interRoleCommunicator in the OnStart() method of the WorkerRole (this.interRoleCommunicator = new InterRoleCommunicationExtension();), an error is flagged with the message "Value Cannot be null. Parameter name: contractType."

    Drilling into it a bit, inside FrameworkUtility.GetDeclarativeAttributes<T>(Type type), it appears Type[] interfaces = type.GetInterfaces(); returns an empty array when called on type System.IObservable.

    Has anyone had a similar experience and could point me in the direction towards a resolution? I apologize in advance if this is the wrong place to post such a message.

    Thanks,

    Alex

  2. valerym says:

    Hi Alex,

    Please check if the following "fix" applies to your case:

    In InterRoleCommunicationExtension.cs, replace ReliableServiceBusHost<IInterRoleCommunicationServiceContract> with ReliableServiceBusHost<InterRoleCommunicationService> (3 instances)

  3. valerym says:

    Thank you for reporting this issue. I have updated the sample code on MSDN Code Gallery to correct the above.