.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:  }
posted @   黎东海  阅读(130)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示