将数据从WCF发送到Silverlight客户端的最快方式是什么?

将数据从WCF发送到Silverlight客户端的最快方式是什么?

问题描述:

这是我正在使用的代码片段。随意提出一个更好的方法。我不介意将数据集序列化为JSON,并将其重新放在另一边,使用数据集以外的其他东西,或者你们想出的其他东西。这些结果需要在另一侧的列表框中显示。另外,我宁愿远离现在的约束。将数据从WCF发送到Silverlight客户端的最快方式是什么?

string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["Local"].ToString(); 
     try 
     { 
      SqlConnection objConnection = new SqlConnection(); 
      DataSet ObjDataset = new DataSet(); 
      SqlDataAdapter objAdapter = new SqlDataAdapter(); 

      objConnection.ConnectionString = connectionString; 

      SqlCommand getStudies = new SqlCommand("UWG.getCourses", objConnection); 
      getStudies.CommandType = CommandType.StoredProcedure; 


      objConnection.Open(); 
      objAdapter.SelectCommand = getStudies; 
      objAdapter.Fill(ObjDataset); 

      return ObjDataset; 
     } 

     catch (Exception ex) 
     { 
      throw new Exception(ex.Message); 
     } 
+2

什么意思是最快的?我想你不是在寻找答案“获得更好的网卡”...... – 2011-03-24 14:28:35

+0

“最快”意思是最有效的,不像数据集那样庞大等。 – Sean 2011-03-24 14:32:39

+0

所以不是快但精益? – 2011-03-24 14:34:40

我不知道你发送的任何东西的结构,但发送它几乎除了数据集之外的任何东西可能会更快。

请问List<string>能做这份工作吗?

+0

它可能就像一个简单的字符串一直到PDF。 – Sean 2011-03-24 14:33:32

+0

那么你需要更具体一些,因为你给出的这两个不同的例子的答案是不同的。在对象结束时,你的结构将被固定和序列化,所以尽可能保持简单,对于文件,那么你可能想要链接到Web服务器上的文件,如果你的数据将是动态的一个数据集可能是合适的,但根本没有“最好的方式”发送任何数据。 – BenCr 2011-03-24 14:38:33

查看WCF RIA服务。您仍然可以进行该ado.net调用,并将结果映射到poco以返回到SL。如果您可以使用实体框架,则可以导出过程并返回复杂类型。

+0

谢谢。我正在考虑使用实体框架。 – Sean 2011-03-24 14:40:37

+0

如果您仅限于调用特效,这是一个很好的资源。 http://thegrayzone.co.uk/blog/tag/wcf-ria-services/ – 2011-03-24 14:57:05