<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      OData 1-1 入門:實現一個簡單的OData服務

      1.什么是OData:開放數據協議(OData)是一個查詢和更新數據的Web協議。OData應用了web技術如HTTP、Atom發布協議(AtomPub)和JSON等來提供對不同應用程序,服務和存儲的信息訪問

       

      2.OData 優勢(個人看法)

        1)一種通用的跨語言的協議,

        2)基于.net的實現可以非常方便的實現一些功能(例如在客戶端使用lambda表達式, 使用odata 傳遞請求到server,最后服務器返回一個結果集 , 注意 過濾排序什么操作是在服務器實現的,我個人覺得這個功能封裝的很徹底,實現也很酷)

       

      以下代碼就是一個最簡單的OData的實現

       

      代碼
      [DataServiceKey("Id")] //主鍵
      public class UserInformation
      {
      public int Id { get; set; }
      public string UserName { get; set; }
      public int Age { get; set; }
      }
      public partial class DataContext
      {
      public IQueryable<UserInformation> UserInformations
      {
      get
      {
      List
      <UserInformation> users = new List<UserInformation>()
      {
      new UserInformation (){Id=1,UserName="Test 1", Age=30},
      new UserInformation (){Id=2,UserName="Test 2", Age=30},
      new UserInformation (){Id=3,UserName="Test 3", Age=20},
      };
      return users.AsQueryable<UserInformation>();
      }
      }
      }
      public class WcfDataService2 : DataService<DataContext>
      {
      public static void InitializeService(IDataServiceConfiguration
      config)
      {
      config.SetEntitySetAccessRule(
      "*", EntitySetRights.All);//定義訪問權限
      }
      }

      如果需要對多個不同對象實現OData 只要對DataContext添加不同的屬性就好了

      這樣的代碼在客戶端操作起來,和使用EF沒什么差別(內部卻是使用OData實現)

       

      運行的時候直接訪問服務,顯示如下

      服務器主要是告訴客戶端他實現了哪些東西

      代碼
      <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
      <service xml:base="http://localhost:12002/WcfDataService2.svc/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns="http://www.w3.org/2007/app">
      <workspace>
      <atom:title>Default</atom:title>
      <collection href="UserInformations">
      <atom:title>UserInformations</atom:title>
      </collection>
      </workspace>
      </service>

       

       

       

       

      以下是客戶端使用的范例

      1.引用web服務 - -#

      2. 編寫如下代碼~~

       

      代碼
      DataContext serverContext = new DataContext(new Uri("http://localhost:12002/WcfDataService2.svc/"));
      var users
      = serverContext.UserInformations.Where(p => p.Id > 0).OrderBy(p => p.Age).Skip(1).Take(2);
      foreach (var user in users)
      {
      Console.WriteLine(
      "{0} - {1} {2}", user.Id, user.UserName, user.Age);
      }

       

      代碼是非常的精簡,而且非常方便的在客戶端使用高性能而且方便的lambda表達式

      如果你設計服務器程序 ,那么odata是一個很好的選擇

      posted on 2010-12-20 15:08  聽說讀寫  閱讀(12413)  評論(3)    收藏  舉報

      導航

      主站蜘蛛池模板: 国产精品v欧美精品∨日韩| 国产电影一区二区三区| 部精品久久久久久久久| 天天躁日日摸久久久精品| 国产高清小视频一区二区| 盐源县| 性动态图无遮挡试看30秒| 精品国产久一区二区三区| 亚洲国产精品毛片av不卡在线| 国产永久免费高清在线观看| 中文字幕在线国产精品| 香蕉久久久久久久av网站| 四虎国产精品成人免费久久| 日产精品久久久久久久| 日韩美女亚洲性一区二区| 新泰市| 里番全彩爆乳女教师| 久青草国产在视频在线观看| 午夜毛片精彩毛片| 成人av久久一区二区三区| 成人av一区二区三区| 国产女同一区二区在线| 艳妇臀荡乳欲伦69调教视频| 国产中文一区卡二区不卡| 免费无码成人AV片在线 | 国产成人麻豆亚洲综合无码精品| 亚洲色大成网站www永久一区| 青青草原国产精品啪啪视频 | 亚洲鸥美日韩精品久久| 国产成人黄色自拍小视频| 老司机午夜精品视频资源| 国产一区在线观看不卡| 免费无码高H视频在线观看| 国产特级毛片aaaaaa高清| 精品无码三级在线观看视频| 欧美一区二区三区性视频| 亚洲综合高清一区二区三区| 人妻蜜臀久久av不卡| 暖暖 在线 日本 免费 中文| 福利成人午夜国产一区| 亚洲AV高清一区二区三区尤物|