// Definition scalar method in DomainService [Invoke] public int TestGetScalar() { object r= this.ObjectContext.TestGetScalar().FirstOrDefault(); if (r == null) return 0; else return (int)r; } // Consume service at client side. ctx.TestGetScalar(delegate(InvokeOperation<int> io) { MessageBox.Show(io.Value.ToString()); }, null); // Definition method with output SP parameters in DomainService [Invoke] public string TestGetInOut(int i) { ObjectParameter p1 = new ObjectParameter("out",typeof(int)); ObjectParameter p2 = new ObjectParameter("outString",typeof(string)); this.ObjectContext.GetTestInOutPara(i, p1, p2); return string.Format("Num={0},String={1}", p1.Value, p2.Value); } // Consume service IN OUT parameter at client side. ctx.TestGetInOut(10, delegate(InvokeOperation<string> io) { if (io.Error != null) { MessageBox.Show(io.Error.Message); // handle the error io.MarkErrorAsHandled(); return; } MessageBox.Show(io.Value); }, null);