精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

ASP.NET MVC 2框架試用經驗談

開發 后端
本文將為大家講述的是ASP.NET MVC 2框架試用經驗,希望通過本文能對大家有所幫助。

本文將為大家介紹已經發布的ASP.NET MVC 2框架正式版的使用情況,包括緩存,靜態內容的放置等等。希望本文能對大家有所幫助。

這個月一直在用 ASP.NET MVC 2 做http://www.86e0.com/t 這個網站,用的時候是 aps.net MVC2 RC2,然后現在ASP.NET MVC 2正式版已經是發布了。 在MVC的使用上,有一些心得。下面作一下總結,希望對大家有用,也歡迎大家討論。

1.關于緩存

緩存上,數據層上的緩存是必須的,這點不必多說了。

另一個很重要的是:視圖片段緩存。

我參考了老趙的寫的三篇關于片段緩存的文章:

適合ASP.NET MVC的視圖片斷緩存方式(上):起步

適合ASP.NET MVC的視圖片斷緩存方式(中):更實用的API

適合ASP.NET MVC的視圖片斷緩存方式(下):頁面輸出原則

本想用老趙的了,但是我發現ASP.NET MVC 2 的有一個新功能: Html.Partial可以返回生成的HTML, 返回的類型是:MvcHtmlString. 雖然要利用Partial View才能生成Html片段,但是我想這個已經夠我用的了, 所以我做了一個這樣一個Helper,主要是將生成的HTML片段緩存到Memcached里。代碼如下:

  1. public static class MvcHtmlHelper   
  2. {   
  3. public static MvcHtmlString MemcacheHtmlPartial(this HtmlHelper htmlHelper,int duration, string partialViewName, object model, ViewDataDictionary viewData)   
  4. {   
  5. object obaear = htmlHelper.ViewContext.RouteData.DataTokens["area"];   
  6. string area=string.Empty;   
  7. if (obaear != null) area = obaear.ToString();   
  8. string key = string.Format("MemcacheHtmlPartial_{0}{1}", area, partialViewName);   
  9. object ob = DistCache.Get(key);   
  10. if (ob == null)   
  11. {   
  12.  MvcHtmlString mstr = htmlHelper.Partial(partialViewName, model, viewData);   
  13.  DistCache.Add(key, mstr.ToString(), TimeSpan.FromSeconds(duration));   
  14. return mstr;   
  15. }   
  16. else 
  17. {   
  18.  return MvcHtmlString.Create((string)ob);   
  19. }   
  20.  }   

然后,我覺得,這樣,在每次請求時,還是要在Controller 里把數據取出來,然后再傳到 Partial View里。 既然已經緩存了,就應該不用每次請求都要在Controller里把數據取出來才對!雖然數據層會有緩存。

所以我,能不能再省下去Controller取數據的消耗,于是又有了以下代碼,其功能是:緩存Action生成的HTML到Memcached里。

  1. public static MvcHtmlString MemcacheHtmlRenderAction(this HtmlHelper htmlHelper, 
  2. int duration, string actionName,string controllerName, RouteValueDictionary routeValues)   
  3. {   
  4. object obaear = htmlHelper.ViewContext.RouteData.DataTokens["area"];   
  5. string area = string.Empty;   
  6. if (obaear != null) area = obaear.ToString();   
  7. string key = string.Format("MemcacheHtmlRenderAction_{0}{1}{2}", area, controllerName,actionName);   
  8. object ob = DistCache.Get(key);   
  9.  if (ob == null)   
  10.  {   
  11.  // htmlHelper.RenderAction(actionName, controllerName, routeValues);   
  12. StringWriter writer = new StringWriter(CultureInfo.CurrentCulture);   
  13.  ActionHelper(htmlHelper, actionName, controllerName, routeValues, writer);   
  14. string wStr = writer.ToString();   
  15. DistCache.Add(key, wStr,TimeSpan.FromSeconds(duration));   
  16. MvcHtmlString mstr = MvcHtmlString.Create(wStr);   
  17. return mstr;   
  18.  }   
  19. else { return MvcHtmlString.Create((string)ob); }   

說明一下,Actionhelper的方法是在MVC原代碼里提取出來的。 因為MVC2里的 Html.RenderAction方法并沒有返回 MvcHtmlString的重載版。那位有更好的方法?

其實,MVC里的Action有輸出緩存,所以直接在View里用 Html.RenderAction都可以解決很多問題了。這個主要是可以用程序管理緩存。

2.關于靜態內容的放置

習慣上,靜態內容會放在 mvc程序所在的目錄下,比如說js,css,上傳的圖片等。但是這樣的話,所有的靜態請求都要經過 aspnet_isapi 處理,這樣是非常不合算的。所以靜態內容一般都會放在另外的子域上。http://www.86e0.com/t 是放在 cdn.86e0.com上。

3.關于強類型ViewModel

我基本上看了老趙的Asp.net MVC***實踐。 其中有一點,就是強烈推薦使用強類型的ViewModel. 我試了一些頁面,發現用強類型的ViewModel,現階段并不適用于我。因為我是用NbearLite,從數據庫抓出來的大多是DataTable. 我是覺得DataTable+NbearLite蠻方便的,雖然沒有動態語言的數據訪問來得方便,但是比用Entity,ViewModel, DTO,等等來說,還是可以省下很多代碼。然后,最重要的是,由于我這種站經常會修改,所以數據庫改變,加字段,減字段是很經常性的事。但是,用NbearLite + DataSet,DataTable,卻非常方便。

所以我覺得,做Asp.net MVC,如果你不是用DDD,DDT的話,用DataTable還是可以的。因為DDD,DDT學習起來還是要點成本的。

4.關于URL生成

URL生成, 老趙寫了一系列文章:

各種URL生成方式的性能對比

各種URL生成方式的性能對比(結論及分析)

為URL生成設計流暢接口(Fluent Interface)

URL生成方式性能優化結果

我直接選擇

Raw方式了, 速度最快的,才是適合我的。呵。 而不是強類型的才是適合我的。

***,分享一個很實用的Asp.net MVC 分頁Helper.

這個Helper引自重典老大的blog:http://www.cnblogs.com/chsword/ . 我在之前做了少少修改,現已經在http://www.86e0.com/t 上使用了。

效果如下:

image

請大家注意生成的 URL, 是用 ?參數=頁碼 的方式。代碼如下:

  1. /// <summary>   
  2. /// 分頁Pager顯示   
  3. /// </summary>   
  4. /// <param name="html"></param>   
  5. /// <param name="currentPageStr">標識當前頁碼的QueryStringKey</param>   
  6. /// <param name="pageSize">每頁顯示</param>   
  7. /// <param name="totalCount">總數據量</param>   
  8. /// <returns></returns>   
  9. public static string Pager(this HtmlHelper html, string currentPageStr, int pageSize, int totalCount)   
  10.  {   
  11. var queryString = html.ViewContext.HttpContext.Request.QueryString;   
  12. int currentPage = 1; //當前頁   
  13. if(!int.TryParse(queryString[currentPageStr], out currentPage)) currentPage = 1; //與相應的QueryString綁定   
  14.  var totalPages = Math.Max((totalCount + pageSize - 1) / pageSize, 1); //總頁數   
  15. var dict = new RouteValueDictionary(html.ViewContext.RouteData.Values);   
  16. var output = new StringBuilder();   
  17. foreach (string key in queryString.Keys)   
  18. if (queryString[key] != null && !string.IsNullOrEmpty(key))   
  19. dict[key] = queryString[key];   
  20. if (totalPages > 1)   
  21. {   
  22. if (currentPage != 1)   
  23. {//處理首頁連接   
  24. dict[currentPageStr] = 1;   
  25. output.AppendFormat("<span class=\"p_home\">{0}</span>", html.RouteLink("首頁", dict));   
  26.  }   
  27.  if (currentPage > 1)   
  28. {//處理上一頁的連接   
  29. dict[currentPageStr] = currentPage - 1;   
  30. output.AppendFormat("<span class=\"p_up\">{0}</span>", html.RouteLink("上一頁", dict));   
  31. }   
  32.  else 
  33. {   
  34.  output.AppendFormat("<span class=\"p_disable\">{0}</span>","上一頁");   
  35.   }   
  36. int currint = 5;   
  37.  for (int i = 0; i <= 10; i++)   
  38.  {//一共最多顯示10個頁碼,前面5個,后面5個   
  39. if ((currentPage + i - currint) >= 1 && (currentPage + i - currint) <= totalPages)   
  40.  if (currint == i)   
  41. {//當前頁處理   
  42.  output.Append(string.Format("<span class=\"p_current\">{0}</span>", currentPage));   
  43.  }   
  44.  else 
  45.   {//一般頁處理   
  46. dict[currentPageStr] = currentPage + i - currint;   
  47. output.AppendFormat("<span class=\"p_num\">{0}</span>",html.RouteLink((currentPage + i - currint).ToString(), dict));   
  48.    }   
  49.    }   
  50.  if (currentPage < totalPages)   
  51.    {//處理下一頁的鏈接   
  52.     dict[currentPageStr] = currentPage + 1;   
  53.      output.AppendFormat("<span class=\"p_down\">{0}</span>", html.RouteLink("下一頁", dict));   
  54.    }   
  55.     else 
  56.       {   
  57.       output.AppendFormat("<span class=\"p_disable\">{0}</span>""下一頁");   
  58.    }   
  59.    if (currentPage != totalPages)   
  60.     {   
  61.    dict[currentPageStr] = totalPages;   
  62.      output.AppendFormat("<span class=\"p_last\">{0}</span>",html.RouteLink("末頁", dict));   
  63.    }   
  64.     }   
  65.   output.AppendFormat("<span class=\"p_count\">第{0}頁/共{1}頁</span>", currentPage, totalPages);//這個統計加不加都行   
  66.    return output.ToString();   
  67.   }  

ASP.NET MVC延伸閱讀

ASP.NET MVC是微軟官方提供的MVC模式編寫ASP.NET Web應用程序的一個框架。

它由Castle的MonoRail而來.目前已經歷經數個版本。ASP.NET MVC中的MVC本來是存在于Desktop程序中的,M是指數據模型,V是指用戶界面,C則是控制器。使用MVC的目的是將M和V的實現代碼分離,從而使同一個程序可以使用不同的表現形式。比如一批統計數據你可以分別用柱狀圖、餅圖來表示。C存在的目的則是確保M和V的同步,一旦M改變,V應該同步更新。

ASP.NET MVC模式圖

ASP.NET MVC框架是既ASP.NET WebForms后的又一種開發方式。它提供了一系列優秀特性,使ASP.NET開發人員擁有了另一個選擇。ASP.NET MVC框架選項非常干凈,而且容易使用。它將允許你在應用中輕易地保持關注分離,且有助于進行干凈的測試和TDD。

原文標題:Asp.net MVC2 使用經驗,性能優化建議

鏈接:http://www.cnblogs.com/OtisBlog/archive/2010/03/22/1691676.html

【編輯推薦】

  1. 詳解ASP.NET MVC 2中的Area特性
  2. 專訪微軟MVP衣明志:走進ASP.NET MVC 2框架開發
  3. 詳解ASP.NET MVC 2中強類型HTML輔助方法
  4. 詳解ASP.NET MVC 2自定義驗證
  5. Scott Gu教你使用ASP.NET MVC 2新功能
責任編輯:彭凡 來源: 博客園
相關推薦

2009-07-24 13:20:44

MVC框架ASP.NET

2009-07-22 10:09:59

ASP.NET MVC

2009-07-20 10:53:59

ASP.NET MVC

2009-07-22 13:24:24

ASP.NET MVC

2009-07-22 13:08:55

拯救UpdatePanASP.NET MVC

2009-07-22 10:34:37

ActionInvokASP.NET MVC

2010-06-23 15:44:03

ASP.NET MVC

2009-09-14 15:04:44

2014-06-30 09:22:38

ASP.NETBootstrap

2009-03-13 10:58:48

ASP.NetMVC框架編程

2009-07-31 12:43:59

ASP.NET MVC

2009-07-20 12:59:53

ASP.NET MVCASP.NET框架的功

2010-10-09 08:41:40

Mono 2.8

2009-07-24 10:55:00

asp.net mvc

2009-06-01 10:23:31

asp.net mvcasp.net mvc.net mvc框架

2009-07-20 15:51:40

FubuMVC核心框架ASP.NET MVC

2010-09-15 09:18:21

ASP.NET MVC

2009-11-02 11:11:07

VB.NET OOP設

2009-10-29 09:40:35

VB.NET Text

2011-09-09 09:50:40

Oracle
點贊
收藏

51CTO技術棧公眾號

国产亚洲欧美另类一区二区三区| 麻豆成人在线看| 妞干网在线免费视频| 高清国产福利在线观看| 久久国产免费看| 欧美黑人xxxⅹ高潮交| 亚洲精品乱码久久久久久不卡| 天天免费亚洲黑人免费| 亚洲人成精品久久久久| 精品乱子伦一区二区三区| 亚洲中文无码av在线| 欧美激情四色| 中文字幕精品视频| 艳妇乳肉豪妇荡乳xxx| 国产精品4hu.www| 午夜精品久久久| 久久av秘一区二区三区| 欧美xxx.com| 国产成人亚洲综合色影视| 国产成人啪精品视频免费网| 久久亚洲成人av| 日韩精品中文字幕第1页| 欧美tickling网站挠脚心| 亚洲欧美日韩一级| 亚洲午夜天堂| 亚洲福利电影网| 强开小嫩苞一区二区三区网站| 欧美在线一卡| 99在线热播精品免费| 亚洲精品日产aⅴ| 国产情侣免费视频| 国产亚洲福利| 欧美高清在线播放| 婷婷伊人五月天| 成人一级毛片| 亚洲欧美资源在线| 亚洲最大的黄色网| 97视频一区| 欧美一级欧美一级在线播放| 欧美女同在线观看| 亚州一区二区三区| 欧美性xxxx在线播放| 加勒比成人在线| 在线观看h网| 亚洲女厕所小便bbb| 伊人久久av导航| 欧美尤物美女在线| 国产亚洲成aⅴ人片在线观看 | 国产精成人品2018| 色综合久久久久综合体桃花网| 国产 日韩 欧美在线| 天堂av最新在线| 亚洲一区二区免费视频| 日本福利视频网站| www.综合| 色综合一区二区三区| 欧美日韩一区二区在线免费观看| 亚洲风情在线资源| 在线欧美日韩国产| 色多多视频在线播放| 97精品国产99久久久久久免费| 在线观看免费视频综合| 91制片厂毛片| 91成人小视频| 精品乱人伦小说| 喷水视频在线观看| 国产成人黄色| 日韩在线一区二区三区免费视频| 国产老头老太做爰视频| 国产精品a级| 97在线观看免费高清| 4438国产精品一区二区| 日韩和欧美一区二区三区| 国产精品久久久久免费a∨大胸| 亚洲国产无线乱码在线观看| 久久成人麻豆午夜电影| 亚洲精品欧美极品| 亚州视频一区二区三区| 国产欧美一区二区精品久导航| 亚洲欧洲精品在线| 羞羞污视频在线观看| 欧美日韩激情视频8区| www.四虎成人| 国产精品一区二区精品| 欧美精品一区二区三区蜜臀| 日韩精品电影一区二区| 国产精品毛片一区二区在线看| 久久99青青精品免费观看| 国产成人精品片| 免费成人在线视频观看| 99热最新在线| 国产亚洲依依| 夜色激情一区二区| 成人精品小视频| 日韩欧美激情电影| 亚洲天堂网站在线观看视频| 黄色一级视频免费| 日韩成人一区二区三区在线观看| 亚洲最大的av网站| 国产在线网站| 亚洲成人午夜影院| 欧美日韩中文不卡| 图片婷婷一区| 欧美猛男性生活免费| 无码人妻丰满熟妇区五十路| 高清成人免费视频| 亚洲一区二区在| 国产高清不卡| 精品国产成人系列| 羞羞在线观看视频| 麻豆精品网站| 国产福利不卡| 成年人网站在线| 91成人在线免费观看| 一二三区视频在线观看| 久久美女视频| 奇米一区二区三区四区久久| 成人av一区二区三区在线观看| 国产农村妇女精品| 免费无码不卡视频在线观看| 国内不卡的一区二区三区中文字幕| 国产丝袜一区二区| 日本三级欧美三级| 国产乱子伦视频一区二区三区 | 影音先锋日韩在线| 国产成人亚洲综合91| 香蕉人妻av久久久久天天| 亚洲精品视频一区二区| www.激情小说.com| 国产一区二区三区四区| 欧美怡春院一区二区三区| 成 人 黄 色 片 在线播放| 国产精品久久久久久久久久久免费看| 国产精品97在线| 日韩精品福利一区二区三区| 欧美激情网友自拍| 性做久久久久久久| 亚洲精品中文在线观看| 黄色小视频免费网站| 日韩久久电影| 国产欧美一区二区三区在线看| 福利在线视频导航| 欧美在线观看一二区| 中文字幕成人动漫| 久久综合激情| 青青草久久网络| 电影一区二区| 最新的欧美黄色| 国产精品无码白浆高潮| 亚洲欧洲一区二区三区| 五月六月丁香婷婷| 欧美一区二区三区免费看| 91嫩草视频在线观看| 欧美精品videosex| 亚洲大胆美女视频| 亚洲男人的天堂在线视频| 99精品国产热久久91蜜凸| 无码人妻精品一区二区三区在线| 亚洲欧洲色图| 国产精品久久久久久久久影视| 国产精品毛片一区二区三区四区| 欧美性极品少妇| 亚洲熟女毛茸茸| 国产成人啪免费观看软件 | 首页国产欧美日韩丝袜| 无码免费一区二区三区免费播放| 福利一区二区| 欧美另类极品videosbest最新版本| 亚洲国产剧情在线观看| 天天色综合天天| 特级西西www444人体聚色| 奇米色一区二区| 中文字幕乱码免费| 国产精品极品在线观看| 国产成人精品a视频一区www| 日本电影在线观看网站| 日韩欧美区一区二| 国产成人无码精品| 国产欧美一区二区精品性| 天堂网成人在线| 亚洲人成免费| 水蜜桃亚洲一二三四在线| 99视频这里有精品| 韩国三级日本三级少妇99| 国产福利电影在线| 日韩欧美精品三级| 国产女主播喷水视频在线观看| 18欧美乱大交hd1984| 日本黄色动态图| 蜜臀av性久久久久蜜臀aⅴ| 国产高清不卡无码视频| 精品国产乱码久久久久久果冻传媒| 91亚洲va在线va天堂va国| 国产高清中文字幕在线| 久久精品99久久久久久久久| 少妇喷水在线观看| 91精品国产综合久久精品性色| 欧美一级视频免费观看| 亚洲欧美乱综合| 国产亚洲精品熟女国产成人| 国产成人综合网| 国产wwwxx| 国产精品乱看| 久久久久久av无码免费网站下载| 精品视频免费| 国产精品三区四区| 亚洲精品一区av| 日本国产一区二区三区| 免费看电影在线| 日韩亚洲精品视频| 毛片免费在线观看| 亚洲成人aaa| av免费在线观看不卡| 欧美性一级生活| 国产91国语对白在线| 亚洲高清视频中文字幕| wwwav国产| 国产精品女主播av| 亚洲精品乱码久久久久久久久久久久| 国产成人啪午夜精品网站男同| 亚洲一区二区福利视频| 秋霞国产午夜精品免费视频| 1024精品视频| 日韩一区二区免费看| av影院在线播放| 天天做天天爱天天爽综合网| 台湾成人av| 免费电影一区二区三区| 精品一区在线播放| 日韩欧美另类中文字幕| 91欧美视频网站| 图片一区二区| 国产日韩综合一区二区性色av| 亚洲高清黄色| 国产成人精品视频| 国产精品av一区二区三区| 91wwwcom在线观看| 成人在线黄色电影| 97精品国产97久久久久久春色| 四虎影视国产在线视频| 欧美日韩不卡合集视频| 69xxx在线| 欧美日韩国产成人高清视频| 在线观看男女av免费网址| 欧美大片网站在线观看| 日韩免费影院| 久久久人成影片一区二区三区| 日本h片在线| 97久久精品国产| 在线视频超级| 国产精品27p| 国产成人午夜性a一级毛片| 国产精品美女免费视频| 欧美成人aaa| 亚洲va欧美va国产综合久久| 视频国产精品| 久久国产一区二区| 国内精品久久久久久久影视简单| 亚洲国产一区在线| 91精品啪在线观看国产18| 精品日韩在线播放| 影音先锋中文字幕一区| www.浪潮av.com| 日韩福利电影在线| 国产永久免费网站| 国产 欧美在线| 少妇按摩一区二区三区| 亚洲国产电影在线观看| 手机在线免费看毛片| 亚洲国产日韩a在线播放性色| 在线观看亚洲欧美| 欧美图区在线视频| www.日本在线观看| 亚洲精品国产精品自产a区红杏吧| 手机亚洲第一页| 北条麻妃一区二区三区中文字幕| 菠萝菠萝蜜在线观看| 午夜精品久久久久久久99黑人 | 九色视频成人porny| 国产欧美日韩精品一区二区免费 | xvideos国产在线视频| 午夜精品理论片| 成人免费毛片嘿嘿连载视频…| 91视频免费在线| 亚洲老女人视频免费| 综合操久久久| 亚洲免费影院| 搡的我好爽在线观看免费视频| 99国产精品久| 国产传媒免费在线观看| 欧美日韩免费在线观看| 91精品国自产| 精品在线小视频| av大全在线| 国产精品扒开腿爽爽爽视频| 欧美高清一级片| 日韩av高清在线播放| 国产精品mv在线观看| 国产又黄又猛又粗又爽的视频| 成人午夜免费av| 日韩免费av一区| 日韩欧美精品网站| 成人乱码一区二区三区 | √最新版天堂资源网在线| 国产精品视频一区二区三区四 | 黄色欧美视频| 久久精品国产美女| 欧美色图首页| 日本中文字幕观看| 久久日一线二线三线suv| 久久国产精品波多野结衣av| 欧美日韩卡一卡二| 你懂的在线播放| 性欧美亚洲xxxx乳在线观看| 久久av偷拍| 在线精品日韩| 美女在线一区二区| 白丝女仆被免费网站| 亚洲五码中文字幕| av男人天堂av| 久热99视频在线观看| 91精品视频一区二区| 亚洲资源视频| 免费看精品久久片| 在线免费看黄视频| 高跟丝袜一区二区三区| 人人妻人人澡人人爽精品日本 | 在线视频福利一区| 日韩精品一区第一页| 成人免费网站黄| 欧美日韩国产精品一区二区三区四区| www.五月激情| 九九热这里只有精品免费看| 午夜精品久久久久久毛片| 亚洲春色综合另类校园电影| 日韩av成人高清| 亚洲av成人无码久久精品| 欧美最猛性xxxxx直播| 精品av中文字幕在线毛片 | 91猫先生在线| 99久久99久久精品国产片果冻| 懂色av.com| 精品国产乱码久久久久久久 | 黑人与娇小精品av专区| 天天操天天射天天舔| 91av在线播放| 久久av综合| 超碰在线人人爱| 国产精品美女久久久久aⅴ| 在线观看国产黄| 麻豆乱码国产一区二区三区| 国产视频一区二| 黄色一级大片免费| www.视频一区| 日本一区二区三区精品| 国产一区二区三区视频在线观看| 日本h片久久| 成人午夜免费剧场| 福利一区二区在线| 黄网在线观看视频| 亚洲丝袜在线视频| 日韩有码欧美| 韩国无码av片在线观看网站| av一二三不卡影片| 男人天堂视频在线| 久久伊人精品视频| 老牛精品亚洲成av人片| 成年人视频在线免费| 国产精品热久久久久夜色精品三区| 国产美女免费视频| 午夜欧美大片免费观看| 欧美日韩一区二区综合| 中文字幕无码毛片免费看| 午夜成人在线视频| 91porn在线观看| 成人9ⅰ免费影视网站| 久久久人人人| 一区二区三区影视| 亚洲第一区第一页| 欧美天堂在线| 妞干网在线观看视频| 国产欧美精品日韩区二区麻豆天美| 国产精品国产一区二区三区四区 | 日韩成人av在线资源| jizz大全欧美jizzcom| 亚洲国产综合在线| 国产黄在线看| 国产91亚洲精品一区二区三区| 久久一二三四| 青娱乐国产在线视频| 亚洲一区第一页| 盗摄牛牛av影视一区二区| 亚洲视频在线a| 亚洲国产成人av网| av影片在线看| 精品一区久久久久久| 国产精品亚洲专一区二区三区| 在线观看 亚洲| 欧美精品日韩三级| 操欧美老女人|