怎么在客户端代码访问ado.net data service
如何在客户端代码访问ado.net data service?
我在网上查了些例子,自己尝试的时间为什么就老出错呢?
服务器如下:
客户端如下:
代码很简单,我在浏览器中访问没问题,可以正常显示,
但在客户端访问时Execute这行语句能执行,但实际上strList为空,
foreach时,就会出现一些异常:未处理InvalidOperationException,处理响应流时出错,XML元素包含混合内容。
但通过Fiddler查看从服务端返回的结果仍然是正常的。
这又是为什么呢?
------解决方案--------------------
http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataservices/thread/418ab1e3-d087-4e8d-8841-0df6b6a856bc
------解决方案--------------------
------解决方案--------------------
恩,从数据量考虑还是有道理的。
DataService Client底层还是调用HttpWebRequest,
所以直接使用WebClient或者HttpWebRequest的验证问题应该没什么。
我在网上查了些例子,自己尝试的时间为什么就老出错呢?
服务器如下:
- C# code
[WebGet] public IQueryable<string> GetDefectDistinct(string defect) { IQueryable<string> result; switch (defect.ToLower()) { case "corrosion": result = (from p in this.CurrentDataSource.PLDA_CORROSION orderby p.INSPECTIONBATCH select p.INSPECTIONBATCH).Distinct(); break; case "weld": result = (from p in this.CurrentDataSource.PLDA_WELD orderby p.INSPECTIONBATCH select p.INSPECTIONBATCH).Distinct(); break; default: throw new Exception("输入参数错误"); } return result; }
客户端如下:
- C# code
private void btnTest_Click(object sender, RoutedEventArgs e) { string uri = string.Format("/GetDefectDistinct?defect='corrosion'"); IEnumerable<string> strList = PLDA.Data.DataSource.pRemoteSource.Execute<string>(new Uri(uri, UriKind.Relative)); foreach (var p in strList) { } }
代码很简单,我在浏览器中访问没问题,可以正常显示,
但在客户端访问时Execute这行语句能执行,但实际上strList为空,
foreach时,就会出现一些异常:未处理InvalidOperationException,处理响应流时出错,XML元素包含混合内容。
但通过Fiddler查看从服务端返回的结果仍然是正常的。
这又是为什么呢?
------解决方案--------------------
http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataservices/thread/418ab1e3-d087-4e8d-8841-0df6b6a856bc
------解决方案--------------------
------解决方案--------------------
恩,从数据量考虑还是有道理的。
DataService Client底层还是调用HttpWebRequest,
所以直接使用WebClient或者HttpWebRequest的验证问题应该没什么。