.net ria services 自定义函数(9)

很多时候我们可能十分希望自定义一些方法可以让sl端直接调用,对SOA的设计思想,这个是十分有作用的,因为一个函数就完成一个功能,这是SOA最常见不过的设计。这里我将讲述一下.net ria services在sl应用中如何自定义函数.

1.在.net ria service端先定义一个方法,并返回一个自定义的类,这个类必须有主键,可以通过“[Key]”标识一个字段为主键。并把此函数用“[ServiceOperation]”标识,这样sliverlgiht端才会出来这个函数。

 1:  [EnableClientAccess()]
 2:  public class myDomainService : DomainService
 3:  {
 4:      [ServiceOperation]
 5:      public myclass myText(string userId)
 6:      {
 7:          myclass mc = new myclass();
 8:          mc.userid = userId;
 9:          mc.input = userId;
10:          return mc;
11:      }
12:  }
13:  
14:  public class myclass
15:  {
16:      [Key]
17:      public string userid { get; set; }
18:      public string input { get; set; }
19:  }

2.调用相当简单,以下是silverlight端的调用代码

 1:  public Home()
 2:  {
 3:      InitializeComponent();
 4:      Business.Web.Services.myDomainContext md = new Business.Web.Services.myDomainContext();
 5:      var c = md.myText("FunSL.com");
 6:      c.Completed += new EventHandler(c_Completed);
 7:  }
 8:  
 9:  void c_Completed(object sender, EventArgs e)
10:  {
11:      var b = (System.Windows.Ria.Data.InvokeOperation<Business.Web.Services.myclass>)sender;
12:      Business.Web.Services.myclass mc = (Business.Web.Services.myclass)b.Value;
13:      MessageBox.Show(mc.userid + ";" + mc.input);
14:  }

你可能感兴趣的:(service)