This post has been moved to a new location. Please follow the link below. Thank you.
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.
Please check if the following "fix" applies to your case:
In InterRoleCommunicationExtension.cs, replace ReliableServiceBusHost<IInterRoleCommunicationServiceContract> with ReliableServiceBusHost<InterRoleCommunicationService> (3 instances)
Thank you for reporting this issue. I have updated the sample code on MSDN Code Gallery to correct the above.