成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

LINQ To SQL的N-Tier分析

開發 后端
這里介紹LINQ To SQL N-Tier系統架構就是于傳統的Client/Server架構中添加一臺架設應用程式伺服器的電腦,做為橋接Client端與Server端(也就是架設資料庫系統的那臺電腦)的中介者。

LINQ To SQL有很多值得學習的地方,這里我們主要介紹LINQ To SQL N-Tier,包括介紹.NET Framework 3.5下的N-Tier等方面。

當初,LINQ之所以會吸引我目光的原因有二,一是其與語言整合的奇想,讓我覺得相當的新鮮且有創意,二則是ORM的誘惑,多年來,我一直對 ORM有著相當高的興趣,從研究ORM概念到使用ORM產品,乃至于自行開發ORM Framework,對于這個技術,我有著深入的研究及無限的渴望。
做為Microsoft第一個公開的ORM實作體,LINQ To SQL不管是于效率還是易用性上,都有著不俗的表現,但在N-Tier應用上,LINQ To SQL卻一直處于相當不明確的狀態,即使到了Visual Studio 2008正式上市的今天,仍然沒有一個完整的文件及范例,告訴我們如何將LINQ To SQL應用于N-Tier系統架構中,本系列文章將以一個小型的N-Tier范例做為結尾,為讀者們演示,如何將LINQ To SQL應用于以WPF做為UI層的N-Tier系統架構上。

LINQ To SQL N-Tier應用

在開始討論LINQ To SQL N-Tier之前,我們得先定位出什么是N-Tier應用程式,說穿了,LINQ To SQL N-Tier系統架構就是于傳統的Client/Server架構中添加一臺架設應用程式伺服器的電腦,做為橋接Client端與Server端(也就是架設資料庫系統的那臺電腦)的中介者。那為何要這么做呢?主要原因有兩個,一是擴充性的考量:在傳統的Client/Server架構中,Server端必須負擔服務所有客戶端的重責大任,一旦客戶端增多,Server端電腦的等級也必須隨之提升,否則效能會因大量的客戶端而降低,架設中介伺服器可以分擔原本由Server端一手包辦的工作。

在面對大量使用者同時操作系統的情況下,中介伺服器可以快取部份常用的資料,以暫存方式來取代真正的資料庫操作,進而減輕Server端的負擔。在N-Tier架構中,中介伺服器并不僅限于一臺電腦,這意味著我們可以架設多臺中介伺服器,然后讓Client端連往主控的中介伺服器,再由此中介伺服器決定該Client端是要連往那一臺中介伺服器,這也是N-Tier用語中常見的『負載平衡』。

二是安全性的考量:原本在Client/Server架構中,Client端是直接與Server端溝通的,這意味著如果應用程式需要透過網際網路來連結Server時,該Server就必須曝露于網際網路上才行,但這個Server端通常是一個架設資料庫系統的電腦,將整個公司重要的資料曝露于眾人可及的網路上,相信沒有幾家公司有這個勇氣或膽識吧。

借助于中介伺服器的架設,可讓后端資料庫免除于曝露于網路上的危機。而Client端與中介伺服器間的溝通立基于有限的通訊規格,所以即使中介伺服器需曝露于網際網路上,有心人士透過中介伺服器來傷害后端資料庫的機會及層次也降低了不少,何況通訊加密是所有N-Tier應用程式必須實作的部份,比起簡單的資料庫通訊協定,專為N-Tier應用程式所設計的安全通訊協定如Web Services,自然安全許多。

.NET Framework 3.5下的N-Tier

當決定采用N-Tier架構時,Client端與中介伺服器間的通訊協定便成了第一個得做出的選擇,從.NET Framework 3.0開始,Microsoft便致力于打造新一代可用于N-Tier架構的通訊協定:Windows Communication Foundation,簡稱WCF。在原始的設計概念中,WCF必須解決兩個問題,一是效率的問題,以往的N-Tier程式可分成兩大陣營,一是使用公開的標準規格:Web Services做為通訊協定,二是使用封閉的規格:Remoting。由于可使用Binary(二進位)協定來封裝訊息,所以Remoting在效能上有著相當耀眼的表現,但Remoting是封閉的協定,所以失去了與其它平臺互通的可能性。使用Web Services雖然可以得到了平臺互通的特色,但卻必須以效率做為交換條件。

WCF在訊息封裝層做了一個抽象化的設計,可以讓WCF應用程式于執行時期切換使用的通訊協定,這也就是說,當在網路環境良好,且沒有平臺互通性考量的情況下,我們可以在不重新編譯應用程式的狀態下,僅修改組態檔就能將架構于WCF的應用程式之通訊層換成Binary格式,當需要互通性時,也只要修改組態檔就能改為Web Services格式,此項設計讓WCF應用程式可以輕松游走于兩種通訊協定間,不像以往般,一旦選擇了Remoting后,要改成Web Services就很難了。

WCF出現的第二個目的是要實作更多的Web Services規格,這幾年來Web Services的規格鋪天蓋地的出現,能支援更多的規格代表著與其它平臺的互通性也就越高,WCF中支援了如WS-Security、WS- ReliableMessage、WS-Coordation、WS-Address等新規格。因此,在.NET Framework 3.5中,不管是依據效能或是互通性的考量,WCF都是最好的選擇。

【編輯推薦】

  1. Linq表達式樹簡單介紹
  2. Linq和dLinq區別剖析
  3. Lambda表達式和Linq查詢淺析
  4. Linq Lambda表達式概括
  5. Linq查詢本質簡單分析
責任編輯:佚名 來源: Sina
相關推薦

2009-09-09 18:03:47

LINQ to SQL

2009-09-15 10:46:04

LINQ to SQL

2009-09-08 13:16:01

Linq to SQL

2009-09-08 14:34:42

Linq to SQL

2009-09-14 18:53:27

LINQ查詢

2009-09-17 17:34:23

linq to sql

2009-09-16 09:56:42

LINQ to SQL

2009-09-08 14:45:24

Linq to SQL支持SQL Serve

2009-09-09 17:02:05

LINQ Expres

2009-09-10 13:24:36

Linq參數類型

2009-09-15 15:09:50

Linq本質

2009-09-07 17:09:45

Linq To Sql

2009-09-08 13:07:15

介紹Linq to S

2009-09-10 10:37:15

LINQ to SQL

2009-09-10 18:02:23

LINQ to SQL

2009-09-16 09:38:27

LINQ To SQL

2009-09-18 13:23:27

Northwind對象LINQ to SQL

2009-09-18 16:41:46

Linq to sql

2009-09-11 09:41:19

LINQ to SQL

2009-09-16 17:11:35

LINQ To SQL
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美久久一区二区 | 精品在线视频播放 | 国产一区不卡 | 亚洲精品麻豆 | 亚洲精品aⅴ | 1区2区视频| 一区二区不卡视频 | 福利成人 | 日本中文在线视频 | 91精品国产综合久久福利软件 | 国内精品久久精品 | 一本一道久久a久久精品综合蜜臀 | 久久精品国产久精国产 | 日韩免费一区二区 | 欧美成人手机视频 | www.com久久久| 免费小视频在线观看 | 狠狠爱一区二区三区 | 91免费观看国产 | 日韩成人中文字幕 | 欧美一级在线观看 | 国产成人综合一区二区三区 | 精品免费视频 | 亚洲精品美女 | 亚洲成人午夜电影 | 黄色免费网 | 久久9久| 在线观看视频亚洲 | 亚洲高清网 | 久久99精品久久久久子伦 | 色噜噜色综合 | 奇米久久 | 亚洲欧美综合 | 久久在看 | 欧美xxxⅹ性欧美大片 | 在线播放国产一区二区三区 | 国产视频在线观看一区二区三区 | 99精品久久久国产一区二区三 | 中文字幕一区在线观看视频 | 一级片网址| 久久精品国产一区二区三区不卡 |