设为首页 收藏本站
查看: 983|回复: 0

[这不是Windows Phone 7]FitnessTrackerPlus(健身)二.架构搭建

[复制链接]

尚未签到

发表于 2015-5-9 16:09:15 | 显示全部楼层 |阅读模式
  现在开始搭建服务器和手机端基本框架
  /**************************************************************************
  注意:代码在即将开始的第三章,会有所变动
  为了进行真机调试,请将数据库连接权限自定义一个账户,不要使用电脑系统权限进行操作,
  ADO.NET数据模型连接语句也为之前自定义的账户,并且将ASP.NET应用程序项目部署到IIS服务器,
  即可进行真机 局域网访问。
  ***************************************************************************/
  一.服务器端
  1.打开VS2010 新建ASP.NET WEB应用程序
  2.添加一个新的ADO.NET 数据实体模型,选择从数据库生成模型
DSC0000.jpg
  3.添加新建项-WCF数据服务,这样就可以通过实体模型和REST终点来对数据进行访问
DSC0001.jpg
  修改FitnessTrackerPlusDataService 中的一端代码,让客户端对所有实体拥有读写权限



1 //数据愿为 数据实体名+Entities
2     public class FitnessTrackerPlusDataService : DataService
3     {
4         // 仅调用此方法一次以初始化涉及服务范围的策略。
5         public static void InitializeService(DataServiceConfiguration config)
6         {
7             // TODO: 设置规则以指明哪些实体集和服务操作是可见的、可更新的,等等。
8 // 示例:
9 // config.SetEntitySetAccessRule("MyEntityset", EntitySetRights.AllRead);
10 // config.SetServiceOperationAccessRule("MyServiceOperation", ServiceOperationRights.All);
11 //访问规则
12             config.SetEntitySetAccessRule("*",EntitySetRights.All);
13             config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;
14            
15         }
16     }
  4.生成一组代理类
  我本机WCF服务地址为http://localhost:4096/FitnessTrackerPlusDataService.svc
  .NET有一个工具可以自动生成代理类,名称为DataSvcUtil,在WIN7 32为系统下,路径为C:\Windows\Microsoft.NET\Framework\v4.0.30319
  现在我们开始生成一组代理类,以管理员权限运行命令提示工具
  输入以下指令(注意此命令不包含换行符和空格):
  "%windir%\Microsoft.NET\Framework\v4.0.30319\DataSvcUtil.exe" /dataservicecollection
/version:2.0 /language:CSharp /out:FitnessTrackerPlusData.cs
/uri:http://localhost:4096/FitnessTrackerPlusDataService.svc
DSC0002.jpg
  关于此工具详细的用法请查看MSDN文档
  WCF 数据服务客户端实用工具 (DataSvcUtil.exe)
  http://technet.microsoft.com/zh-cn/exchange/ee383989(v=VS.90)
  如何:手动生成客户端数据服务类(WCF 数据服务)
  http://technet.microsoft.com/zh-cn/exchange/dd756369(v=vs.90)
   /*************************
  IIS服务端部署成功,访问成功示例(返回XML格式数据)
  **************************/
DSC0003.jpg
  

  二.手机端
  1.新建一个WP7程序
  2.选择 添加现有项,将我们之前用工具生成的FitnessTrackerPlusData.cs 类添加到程序中
  3.添加服务引用  地址为http://localhost:4096/FitnessTrackerPlusDataService.svc
  4.示例  简单的查询
  5.前台代码-进行数据绑定



1
2         
3            
4                 
5                     
6                        
7                     
8                 
9            
10            
11         
  6.后台代码



1  public partial class MainPage : PhoneApplicationPage
2     {
3         //数据类型
4         FitnessTrackerPlusEntities entites = new FitnessTrackerPlusEntities(new Uri("http://localhost:4096/FitnessTrackerPlusDataService.svc"));
5         // 构造函数
6         public MainPage()
7         {
8             InitializeComponent();
9         }
10
11         private void Button_Click(object sender, RoutedEventArgs e)
12         {
13             //查询食物为一杯数据
14             var query = (from f in entites.foods
15                          where f.serving_size == "1 cup"
16                          select f) as DataServiceQuery;
17             query.BeginExecute(foods_CallBack, query);
18            
19            
20            
21         }
22         private void foods_CallBack(IAsyncResult result)
23         {
24             var query = result.AsyncState as DataServiceQuery;
25             var foodss = query.EndExecute(result).ToArray();
26             //因为在WP7中 UI为主线程,我们现在是对UI操作,如果不开异步,会导致线程阻塞
27             this.Dispatcher.BeginInvoke(() => { list.ItemsSource = foodss; });
28         }
29     }
  7.客户端引用的WCF数据服务预览
DSC0004.jpg
  
  8.执行效果
DSC0005.jpg
  
本章源代码:
  http://dl.dbank.com/c0xb4p5sax
修改后IIS代码:
  http://dl.dbank.com/c0t3bgpv7d

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-65337-1-1.html 上篇帖子: Windows 7下的虚拟光驱 下篇帖子: Windows 7 Code 7 全球大赛介绍和资源下载
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表