自定义客户端消费LS的ODATA示例

LightSwitch默认使用了ODATA方式,这样便于向其他系统共享数据。

下面是一段WPF客户端使用 LS 的ODATA

1.在WPF客户端中添加服务引用 已发布的 LS的ODATA的服务地址 如  http://192.168.1.100/MyTest/ApplicationData.svc

applicationdata 对应的为LS内置的数据库

2.LS开启了用户认证,需要在消费时进行认证处理,使用FORM认证


 WpfApplication1.ServiceReference1.ApplicationData data =
                new ServiceReference1.ApplicationData(
                    new Uri(" http://192.168.1.100/MyTest/ApplicationData.svc"));
            data.Format.UseJson();  //默认使用XML方式,传输量较大

data.Credentials = new NetworkCredential("user", "pwd");// 此处为LS的登录用户(FORM方式),非服务器WINDOWS用户


3。获取数据

Expand 为获取关联数据,不然就是数字等类型

   var datas = from a in data.ProjectItemSet.Expand("BizPerson,Leader,DocManager,ProjectKind,ProjectState,ProjectType") where a.ProjectYear == 2015 select a;
            MessageBox.Show(datas.ToList().Count.ToString());
            AppConfig config=new AppConfig();
            config.AppKey = "tr1";
            config.AppValue = "test";
          
            data.AddToAppConfigs(config);
            data.SaveChanges();

4.待处理问题

  一个是每次调用服务器数据,数据库都会重新判断用户,这个步骤多做了。

 一个是调用一次,会有生成二个HTTP请求,第一次显示为<title>401 - 未授权: 由于凭据无效,访问被拒绝。</title>,而第二次请求,则显示正确的数据。

以上二个应该还是和授权有关,等待有空再行研究


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值