NGWS SDK Documentation  

This is preliminary documentation and subject to change.
To comment on this topic, please send us email at ngwssdk@microsoft.com. Thanks!

Message Programming Tasks

Extracting Properties from an IMessage

public class SomeClass
{
    //. . .
    public void ExtractMessageProperties(IMessage msg)
    {
      if (msg is IMethodCallMessage)
        Console.WriteLine("IMethodCallMessage");
        
      if (msg is IMethodReturnMessage)
        Console.WriteLine("IMethodReturnMessage");

      if (msg == null)
        Console.WriteLine("***** IMessage is null");

      IDictionary d = msg.Properties;
      if (d == null)
        Console.WriteLine("***** Properties are null");

      if (d.Count == 0)
      {
          Console.WriteLine("Zero Properties");
          return;
      }

      IDictionaryEnumerator e = (IDictionaryEnumerator)
                         d.GetEnumerator();

      while (e.MoveNext())
      {
        Object key = e.Key;
        String keyName = key.ToString();
        Object value = e.Value;

        Console.WriteLine(keyName + ":" + e.Value);
      }
    }
    //. . .
}

Marshalling an object

To be supplied