.NET RIA Service入门系列文章九:自定义函数
很多时候我们可能十分希望自定义一些方法可以让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: }
作者:局外人
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.