當前位置:首頁 » 存儲配置 » wcf存儲過程

wcf存儲過程

發布時間: 2022-05-09 10:47:56

① 電子商務網站一般架構有哪些

大型電子商務網站架構,摘抄 7.同一個網站的多語言該如何處理是好,使用配置文件然後cookie或url來判別?===客戶是自己公司,使用標准方法即可
8.電子商務網站最多的就是 商品的打折方式和積分的贈送了,這里要怎麼設計才好(工廠模式)?===采購成熟的規則引擎
9.如果同一時間並發大量訂單的話,如果確保一個訂單的有效提交呢?
==電子商務一般要使用MQ,推薦IBM MQ;使用MSMQ也可
第一點是資料庫要設計好,要達到什麼級別,你可能需要考慮哪些表需要拆分,哪些表的核心數據需要冗餘,如果是mysql,還要考慮其他的問題,比如存儲引擎。
新聞肯定是要生成純靜態頁,對資料庫壓力就小很多,不過靜態頁也有管理上的不方便,更新刪除添加都要對磁碟文件進行操作
做一個自定義緩存層,對緩存邏輯進行控制,可以採用第三方緩存模塊,如果使用.net來做,可以層層緩存,頁面緩存,數據緩存(memcache,不過在win下效率不高)
電子商務網站特點就是對事務的嚴格,需要資料庫設計的時候要求高性能,也需要合適的索引,支持高並發,經常對產品表用戶表等進行索引檢查,是否有很多索引掃描和表掃描(即使是局部的,也要將「局部」控制到最小范圍)
mssql語句對不需要事務的查詢要附帶上with(nolock),以利於並發更新。
有些功能模塊不能按照想當然的方式開發,比如產品訪問次數,切不可將這些更新非常頻繁的欄位置於核心表內,明確的做法是將其剝離開來 還有就是切不可經常性將欄位設計成bool類型,這樣會給以後的擴展留出路,即使是男女這種欄位,也建議採用tiny類型
其他還有就是在產品設計的時候充分考慮seo,網站目錄結構清晰可讀,而不是帶著一串串的查詢參數。
對安全要有整體的把握,最好全都是用存儲過程,在項目上線前將資料庫存儲過程全部導出再查找貌似exec的語句,查找是否需要替換成sp_executesql。
另外,如果採用mssql,全文搜索直接用mssql fte就可以,速度和精確度都還是可以的,最重要的是維護和管理開發很簡單。
打折的處理可以按照電信的一次,二次批價功能,如果你做過電信方面的系統。
當然也可以設計得更簡單的一些。 靜態的頁面建議使用CDN加速,以解決網通和電信之間訪問速度的問題;
數據的緩存方面建議考慮用memcache,另外也可以分別在表現層和數據層利用.net中的現存緩存機製作業可;
簡單執行的sql可以不用存儲過程,存儲過程會佔用資料庫伺服器的處理時間,造成死鎖;
mvc建議還是做些CMS的項目上應用,電子商城不是很適合,個人觀點。url上可以做轉義,使url顯示更友好;
資料庫建議建立分布資料庫,這樣可以轉移查詢和大訪問量對資料庫帶來壓力;
圖片可以考慮單獨放在一台伺服器上;1.三層架構
2.使用手寫sql,手寫entity(生成也可),緩存反射綁定(不是緩存數據哦,緩存映射關系),要考慮網站的長期發展還是手寫吧 靈活 性能也好
3.沒有這種問題,商業驅動的,純購物就好了,千萬別搞什麼圈子,wiki
4.純.net的mvc不建議,webform不搞viewstate,不搞服務端控制項(除repeater)再加點mvc的思想已足夠用了
5.不需要緩存數據(除搜索產品部分),要考慮多台伺服器的程序快速部署,config文件會很多,config要序列化緩存
6.當然是先生成好了,參照jd吧,按業務每張圖片對應幾個不同大小的圖
7.據經驗,電子商務網站僅靠中英雙語來達到多語言是不靠譜的(文化 用戶習慣不是簡單的語言切換),如果想真正運營英語的就要重新開發一個版本
8.不搞模式
9.負載均衡(web,db)+ssb非同步處理數據
10.你是業務類型的日誌還是異常日誌? 前台訂單流程上異常日誌不需要了,找個工具錄個腳本不停的跑 保證隨時發現問題發郵件就可以了
11.找第三方搜索組件 類似endeca的
12.負載均衡挺簡單的,初期靠軟體就可以,一切圖片找第三方放cdn,前台網站用到ajax的地方很少,如果用的話jquery 1,一個電子商務網站用戶99.5%的行為時Find
2、對於商品檢索部分,能不用資料庫就不用資料庫(網上切詞等相關的開源平台很多)
3、分布式緩存(Memcached 、Volecity),個人測試volecity 3還是不錯的
4、系統設計時必須要考慮可運營。從這個角度去設計系統
5、對於電子商務網站改動很頻繁,必須考慮架構設計如何適應頻繁的版本更新
6、必須設計一個好的單點登錄系統。
7、建議能不用sqlserver就不用它。
8、對於大型電子商務網站來說,系統的I/O是起決定因素而不是CPU和內存。1.項目劃分是否會有問題,圖中分別是 實體層,數據訪問介面層,數據訪問層,業務邏輯介面層,業務邏輯,網站A,B,C
項目劃分其實不重要,重要的的是你在寫代碼的時候是否能把代碼合理的分到對應的項目里。
2.數據訪問層是要開發效率(NBear,Linq,Nh等),還是訪問效率(直接使用sql等)?是否可以先使用開發效率高的,等日後訪問量大了,再重寫並替換數據訪問層?
開發效率優先,訪問量大了以後,我相信是有錢投到硬體上的,在你程序寫的不是很爛的情況下,升級硬體遠比優化程序節省成本。
3.網站被切割成了多個子網站,有一些控制項(如header,footer)是要共享的,如何跨網站項目共享這些控制項呢?
那就做成自定義控制項啦。
4.ms的mvc 1.0也出來不少時間了,是否已經夠成熟運用到項目中?或者是網站後台使用webform的,前台使用mvc?
推薦使用使用webform的,前台使用mvc,對於前台來說使用mvc能更好的提升性能,更方便的更換頁面表現形式。後台界面相對穩定,用webform可以提高開發效率。
5.網站數據的緩存是自己開發一個hashtable什麼的來維護呢,還是使用Memcached ?
初期建議用hashtable,因為簡單,將來升級到Memcached 。
6.縮略圖的處理,我看有的網站是在上傳圖片的時候直接生成,有的是在httpmodle里處理,訪問的時候生成.
直接生成縮略圖的好處是節約性能。httpmodle相反,每次瀏覽圖片的時候都會生成新的圖片,伺服器壓力大,建議直接生成。
7.同一個網站的多語言該如何處理是好,使用配置文件然後cookie或url來判別?
多語言建議使用asp.net自帶的資源文件的方式實現,當前語言保存在cookie裡面。
8.電子商務網站最多的就是 商品的打折方式和積分的贈送了,這里要怎麼設計才好(工廠模式)?
規則引擎
9.如果同一時間並發大量訂單的話,如果確保一個訂單的有效提交呢?
使用MQ隊列
10.日誌方面,log4net?
log4net只能記錄程序運行日誌,主要目的是用來調試程序的,系統業務操作日誌還你是得自己建一個表來保存。
11.電子商務的全文檢索,這也是個頭疼的問題
lucene,微軟索引服務,sqlserver全文檢索,方案很多的。
12.負載均衡方面,有什麼好的文章推薦碼?
可以看windows 2003 集群方面的文章 1.項目劃分是否會有問題,圖中分別是 實體層,數據訪問介面層,數據訪問層,業務邏輯介面層,業務邏輯,網站A,B,C
目前我也是這樣分的,不過當數據表結構有修改時,會帶動其它層的聯級修改,非常不方便,所以開發之前最好將資料庫設計地完善一點。另外,當網站分成多個以後,其它項目生成的DLL文件要部署到每個網站的bin文件夾里,更新一次都要重新部署,這也是個挺煩人的事,當然可以將DLL部署到GAC里來解決這個問題,不過這樣的話本地調試起來就不太方便了,因為項目一有改動,就要將生成的DLL重新拷貝到GAC里才能看到效果。
2.數據訪問層是要開發效率(NBear,Linq,Nh等),還是訪問效率(直接使用sql等)?是否可以先使用開發效率高的,等日後訪問量大了,再重寫並替換數據訪問層?
這個我也在考慮。目前我還沒有採用ORM框架,都是在DAL里直接訪問DB的。
3.網站被切割成了多個子網站,有一些控制項(如header,footer)是要共享的,如何跨網站項目共享這些控制項呢?
自定義控制項。
4.ms的mvc 1.0也出來不少時間了,是否已經夠成熟運用到項目中?或者是網站後台使用webform的,前台使用mvc?
正在學習這一塊。
5.網站數據的緩存是自己開發一個hashtable什麼的來維護呢,還是使用Memcached ?
現在我用的比較多的是.net自帶的數據緩存。
6.縮略圖的處理,我看有的網站是在上傳圖片的時候直接生成,有的是在httpmodle里處理,訪問的時候生成.
直接生成好,快一點。
7.同一個網站的多語言該如何處理是好,使用配置文件然後cookie或url來判別?
我沒涉及到這一塊,不過我覺得資源文件應該就是用來處理這個問題的。
8.電子商務網站最多的就是 商品的打折方式和積分的贈送了,這里要怎麼設計才好(工廠模式)?
這些都放在邏輯層好了。
9.如果同一時間並發大量訂單的話,如果確保一個訂單的有效提交呢?
MSMQ
10.日誌方面,log4net?
目前我是自已寫代碼存在庫里的。
11.電子商務的全文檢索,這也是個頭疼的問題
用lucene.net分詞建索引,再直接從索引庫里搜索,又快又准。
12.負載均衡方面,有什麼好的文章推薦碼?
不清楚了。 這樣的設計要達到新蛋的效果肯定不可能的,新蛋少說幾百台伺服器,不同資料庫之間的發布訂閱鏈路都有幾千條。有復雜的緩存,負載均衡機制。新蛋所有的通訊都是基於WCF的。另外對於這么大型的網站來說,資料庫一刻都不停止,所以讀寫分離也很重要,因為你也不可能讓資料庫停下來進行備份。總歸要做到新蛋這樣的大型電子商務網站,靠你上面畫的這點好像遠遠不夠。
不過關於公共的header,footer,我不建議做成自定義控制項,這個維護起來不方便,稍有變動就要發布dll,麻煩的。
如果你的header和footer不是很大的話,建議採用js+css的方式。然後加上壓縮和cdn緩存,應該效率上能接受。

② 如何學習自動化測試

軟體自動化測試的學習步驟
大概步驟如下:
1. 做好手工測試(了解各種測試的知識)-> 2. 學習編程語言-> 3. 學習Web基礎(HTML,HTTP,CSS,DOM,javascript)或者 學習Winform
-> 4. 學習自動化測試工具 ->5. 學習自動化測試框架 -> 6. 實現自動化測試用例 -> 7. 開發自動化測試工具 ->8. 開發自動化測試框架

自動化測試的最高境界是: 開發測試工具,設計自動化測試框架, 讓別人用。
自動化測試的本質
自動化測試的本質是:用程序測試程序。 也就是說學習「編程語言」是學習自動化測試的基礎。
很多人問小坦克我學自動化測試,應該去學什麼自動化工具。 我的回答是,第一步:應該先學習編程語言,以後再去學自動化測試工具
自動化測試是一定要寫代碼的, 編程語言水平的高低決定了自動化測試水平的高低, 有了扎實的編程技術,干什麼都可以。
學習編程語言時, 要把自己當做開發人員, 系統地學習各種編程知識。

自動化測試學習的誤區
很多新手一開始,就學習復雜的自動化測試工具, 我覺得這樣是本末倒置了。
如果不先理解HTTP協議, 就不會理解Jemeter, LoadRunner, Fiddler, SoapUI這些工具的。
如果不先理解HTML,DOM, 就不會理解Firebug 這種工具的
如果不先理解Win32 API, 就不會理解Windows 窗體自動化測試的原理的。
如果自己沒有開發過網站, 就不會理解網站的各個方面,測試起來難免有遺漏。

總之學習自動化測試,需要循序漸進, 把基礎打好。

自動化測試的職位
自動化測試工程師的職位叫做: (SDET) Software Development Engineer in Test. 專注於自動化測試
手動測試工程師叫: (STE)Software test enginer. 專注於手動測試
在微軟有很多SDET的職位,但是沒有STE的職位, STE職位一般都是外包給外包公司的, 目前自動化測試還是非常吃香的。

自動化測試分類
自動化測試也有非常多的種類,
對Web UI 的自動化測試程序
對Windows 窗體UI的自動化測試程序
API測試, 比如(測試WCF service, Web API 等)
資料庫測試, 比如測試存儲過程
介面測試 (這種只能用自動化測)
單元測試
性能測試, 性能測試都需要用到自動化

③ 學軟體開發專業需要哪些基本素質

  1. 需要追求真理的決心,開發的軟體每個人寫的都會不一樣,唯一要求一樣的是真理,究竟你做的是解決實際問題、軟體是否有他的存在意義這些就要靠真理來驗證。

  2. 需要博學,集思廣益,不要鑽牛角尖單學哪一種語言,覺得他獨大,應該多上論壇、多向別人學習交流,軟體使他的適用環境,你需要滿足各種各樣的環境。語言的原理也是相同的,只有在你知識夠豐富才能觸類旁通。

  3. 需要循序漸進,一口吃不成胖子,你可以抄襲別人代碼做些自己能力范圍外的事情,但是要想辦法把他理解透,編程自己的東西,在使用的時候能舉一反三。

  4. 需要有耐心,急功近利反而弄巧成拙,在你沒學到真本事之前,他是產生不了實際價值的,就像大學生上編程課一樣,學來學去全是演算法基礎,甚至看不到一個程序能真正用起來,但是畢業了就知道,這些東西哪裡都能用。偶爾同學們會問你寫軟體多少錢一個月,對比下做泥工發現差了一大截,結果做軟體還不如做泥工。這就看你怎麼理解了,做泥工也不應該受到歧視,做軟體是你的一生的職業。

  5. 需要社會經驗,你給人家做ERP流程管理就要精通ERP業務邏輯和他的企業運作模式,給人家做游戲就要了解市場需求和本身的定位,做網站推廣就要熟悉業務范圍和SEO優化,不然做出來的都是自娛自樂的小玩意。

④ SQL存儲過程定義的變數賦值問題

你都把欄位值加起來了,那還要SUM()函數幹嘛呢?直接寫成wcfy:=select ZSF+QTFY+CCF+CCBZFY+WCRLF from LQSHDWCSQD where WCDH=dh_in;
就可以了(如果欄位ZSF,QTFY,CCF,CCBZFY,WCRLF是在一條記錄里的話 )。

⑤ .NET的3.5特性

VS 2008的多定向支持
VS 2008允許你構建針對多個.NET框架版本的應用。你可以從下面的博客貼子里進一步了解其中的工作原理:
VS 2008 Multi-Targeting Su ort
VS 2008 Web設計器和C 支持
VS 2008包含一個顯著改進的HTML web設計器。該設計器提供了分割視圖編輯,嵌套母板頁,以及出色的C 集成。
A .NET還提供了一個新的控制項,該控制項對數據UI場景提供了非常靈活的支持,允許對輸出的標識做完全的定製,與VS 2008中的新C 支持還有良好的協作。
A .NET AJAX和JavaScript支持
.NET 3.5 內置提供A .NET AJAX,還添加了支持We art的UpdatePanel,支持JSON的WCF,以及N個缺陷修補和性能改進等方面的新特性。VS 2008還對集成JavaScript和AJAX進你的應用提供了極棒的支持:
VS 2008 JavaScript Intellise e
VS 2008 JavaScript Debugging VS 2008中的新VB和C#編譯器對這些語言做了顯著的改進。兩者都添加了函數式編程概念的支持,允許你編寫更干凈,更簡潔,更具有表達性的代碼。這些特性還促成了我們稱之為LINQ(語言級集成查詢)的新編程模型,使得查詢和操作數據成為.NET中的一等編程概念。
下面是我撰寫的一些討論這些新語言特性的文章(用C#作為示例):
自動屬性,對象初始化器,和集合初始化器
擴展方法
Lambda表達式
查詢句法
匿名類型
LINQ to SQL中的數據訪問改進
LINQ to SQL是.NET 3.5中內置的OR/M (對象關系映射器)。它允許你使用.NET 對象模型對關系資料庫進行建模。然後你可以使用LINQ對資料庫進行查詢,以及更新、插入,刪除數據。LINQ to SQL完整支持事務,視圖和存儲過程。它還提供了一個把業務邏輯和驗證規則結合進你的數據模型的簡易方式。下面是一些我討論如何使用LINQ to SQL的文章:
Part 1: Introction to LINQ to SQL
Part 2: Defining our Data Model Cla es
Part 3: Querying our Database
Part 4: Updating our Database
Part 5: Binding UI using the A :LinqDataSource Control
我會在以後的幾周內再往這個系列裡添加幾篇文章。我認為你會發現LINQ to SQL顯著地簡化了構建非常干凈的數據模型以及編寫極其干凈的數據代碼。 在安裝VS 2008 和.NET 3.5 Beta2之後,還有2件重要的事情你應該馬上做:
1) 你應該下載和運行這個批文件。這只要幾秒鍾就可以運行完,它修補了這個星期早些時候我們發現的System.Web.Exte io .dll版本政策的問題,該程序集包含了 A .NET AJAX。如果你不運行這個批文件,那麼用A .NET AJAX 1.0 和 VS 2005構建的現有的A .NET 2.0項目就會自動地運載隨 .NET 3.5 Beta2發布的新A .NET AJAX 版本。這會工作而且運行良好,但會不小心導致你的VS2005應用依賴於.NET 3.5。運行這個批文件會改變新的System.Web.Exte io .dll程序集的版本綁定政策,確保你只在你明確構建.NET 3.5項目時才使用新的.NET 3.5 A .NET AJAX版本。
2) 假如你曾經在你的機器上安裝過Orcas或VS 2008的早期版本(Beta1 或某個CTP 版本)的話,你需要在安裝Beta2後重新設定你的VS 2008設置。如果你不這么做的話,有些設置會非常奇怪(一些窗口在出現在奇怪的地方),你也有可能看到一些IDE性能問題。你可以在命令行上對VS 2008的IDE版本鍵入「DevEnv /resetsettings」來重新設定你的配置。

⑥ 伺服器重啟後SQL SERVER 2005莫名其妙被還原

你描述的問題,在理論上是不可能發生的,事實上,也不可能發生.
導致這個問題原因,我個人經驗,通常是2個:
1:你的程序中包含一個事務(可能是sql中的事務,也可能是windows的分布式事務),這些事務在執行後,沒有正確提交,而在次過程中,你又重啟了服務,資料庫自然回滾到初始狀態.
2:你的資料庫或者軟體中,包含了一段資料庫的備份/恢復代碼(當然,資料庫計劃也是有可能的)
處理:重新檢測你的程序以及數據的執行計劃.

⑦ 浙大網新模擬實訓的課程體系

「3」步走專業課程實訓:靜態知識課程→個人動態任務課程→團隊動態項目課程。
靜態知識課程補充項目實戰技能;個人動態任務課程則是對學員進入團隊項目開發實訓前的專項訓練;團隊動態項目課程由網新集團項目經理帶領學員組成項目研發組,按照企業項目開發流程進行的真實項目開發,學員在項目開發過程中將理論運用到實際,參與項目研發,了解企業項目開發流程,最終具備項目研發的經驗和能力。
「1」大職業課程:職業技能課程包括職場禮儀、時間管理、有效溝通、團隊協作等內容,旨在幫助學員掌握職場成功必備的軟技能。 JAVAEE實訓
1.強大的師資力量
上課的講師全部是資深的一線架構師,具備超強的實戰能力,經歷過眾多的項目,解決過無數問題,能協助掃平你學習道路上的絕大多數問題。請參見導師介紹中Java相關導師介紹。
2.科學的教學過程
教學過程遵照最適合快速學習的路徑,絕不會重復書上的枯燥過程,快速搞定書上講解的大部分內容。入門手把手,中期實例演示適當擴展,後期啟發式獨立完成。最終能脫離老師,獨立解決職業生涯中未知的問題。
3.有趣實用的項目反推式教學
突破傳統的教學方式,在知識點講解之前,先分析項目,羅列出項目中使用的知識點,然後分別學習演練,逐個擊破。學完知識點,也做完了項目。
4.真實的企業級項目案例+開發過程
我們使用的項目案例全部是實際的項目,並且完全按照企業級項目團隊的開發方式組建團隊,使學員能真實感受真正企業的開發流程。
.NET實訓
1,熟練C#,對.NET Framework有深刻認識,熟練使用VS2008開發環境;
2,熟練HTML,CSS,div+css,XML、AJAX,Javascript、JQuery等開發;
3,熟練WS、SOCKET、Remoting、WCF、WPF、Silverlight、Linq、MVC框架;
4,熟練SqlServer、Oracle等主流資料庫,熟練視圖、存儲過程、觸發器等;
5,熟練使用Power Designer、Visual Source Safe、Visio等工具;
6,熟練熟悉多層架構,有面向對象的分析經驗,熟悉軟體開發流程、較好的文檔能力及良好的編碼風格;
7,熟悉Windows Phone 7手機3G開發;
8,具備開發電子商務網站、家庭理財項目、金融類產品、呼叫中心、地圖開發等項目經驗;
9,擁有較好的自學能力、踏實的工作作風、謙虛的精神、良好的溝通技巧、優秀的團隊合作能力;
10,課程結束後,學員具備相當於1年以上工程師水平;
C++企業級應用開發
第一階段:Linux基礎
課程目標:通過學習Linux,使學員能夠掌握Linux的安裝配置,基本操作。
一 掌握Linux的安裝、配置
二 掌握Linux的常用命令
第二階段:Web技術和資料庫基礎教
程課程目標:掌握常用資料庫的操作,掌握VBS腳本語言,對後期自動化測試工具中VBS的使用,打好編程基礎。
一 掌握基本的Web技術,VBScript腳本語言
二 掌握XML基本語法
三 掌握SQLServer、Oracle、MySQL等常用數據的操作
四 掌握HTTP協議課程目標
Android高端實訓班
業內統計,目前國內的3G研發人才缺口有三、四百萬,其中Android研發人才缺口至少30萬。Android開發人才佔IT人才總需求的72%。據職酷網數據統計顯示:目前熱招的Android技術相關崗位約有3882個,而一個月內的有效崗位量在2298個。主要熱招職位包括Android開發工程師、Android軟體工程師、Android應用開發工程師、Android系統軟體開發、Android程序員等。
職場專家指出,想要從事Android開發的人員,除了基礎的計算機技術知識要扎實之外,要根據各類企業、各類崗位的不同需求,補充與崗位相關的Android技術知識。此外,還要注重項目經驗的積累。
Iphone高端實訓班
1、移動互聯網設備的發展是一個顯而易見的趨勢,順應後PC時代的趨勢將使你獲得更大的發展機會。
2、iPhone/iPad在這個領域處於領先地位,其優勢非常明顯。
3、無論是自主創業,還是求職,iPhone/iPad開發都是目前最緊缺、收入水平最高的開發職位之一。
4、全套引進蘋果官方的標准化實戰培訓方案。
5、中國引導式培訓和歐美啟發式教育想結合,在傳授知識的同時,培養學員的獨立構思能力。
大型機課程
大型機操作系統基礎理論和操作方法: 描述大型機操作系統的基本概念,介紹大型機(Mainframe)的優勢,介紹如何用模擬終端登錄Mainframe開發環境以及在該環境下工作的基本技巧,包括:學習啟動TSO的方法、ISPE/PDF畫面間的切換及各功能的使用方法、如何使用ISPF/PDF分配和編輯數據集、建立和管理數據集等內容。
大型機操作系統的管理維護: 解釋大型機操作系統下的系統管理、存儲管理、數據管理、任務管理、輸入輸出進程以及通信系統等概念。

⑧ 把HTML CSS Javascript 學完了還要學什麼啊,

第一階段:前台工程師
1 入門:學html。
2 進階:學css。
3 中級:學javascript。
4 高級:活學活用這三者結合,這一步需要大量的實踐。
5 高手:建議學一下jQuery,是javascript操作html和css的利器。
6 終極:建議學一下PS和Flash,如果javascript學的好,再順便學一下Action Script
第二階段:.Net 後台工程師
1 初級:資料庫基礎:Access
2 入門:資料庫SQLServer以及查詢語句
3 中級:VB.Net或C#基礎
4 高級:ASP.Net操作資料庫,以及資料庫存儲過程的編寫
5 高手:AJAX結合前後台
6 終極:熟悉操作系統中的組件,建議學習MVC、WCF等
第三階段:J2EE後台工程師
與第二階段類似,過程中你會覺得和C#如同雙胞胎一樣接近

以上是我走過的路,當然不一定適合你,推薦一篇文章:《程序員箴言》,很早以前看過的,或許網上有,你會成為優秀的程序員的!

⑨ .net如何架構分布式系統

既然都是分布式,那隻能用服務的方式來做了。

從最低層開始搭建.

  1. 數據路:用SQLserver,為了訪問速度一定要用存儲過程。千萬別用EF。

  2. 邏輯程序:用WCF作服務,好處就不用說了。工作量大大降低,同時支持web系統,桌面程序,安卓等,只需要寫一次邏輯代碼。

  3. 界面層:主要是以web的方式呈現。這里用aspnet的MVC4來開發,引用WCF服務,擴展靈活,維護方便。一般把系統的核心管理模單獨獨立出來,做成桌面應用程序,也是引用WCF服務。這樣做是為了系統的安全,一般只有高級管理員使用該桌面應用。

  4. 移動端:用WerServer來做API,手機版web,安卓客服端,IOS客服端都用API來開發,這里還是引用WCF服務。

⑩ ADO.NET實體數據模型講解

ADO.NET是。NET與資料庫互操作的核心,而ADO.NET實體資料庫則增強了。NET應用程序與資料庫的互聯能力,通過ADO.NET實體數據模型我們可以很方便的與底層資料庫進行強類型的數據互操作。大大的方便了設計人員,從而也提高了資料庫操作的安全性。
最近在使用到Silverlight的領域數據服務時遇到一個很特別的問題[在應用程序中的結果和資料庫的結果不一樣],經過反復的試驗,終於找到了問題的根源,那就是ADO.NET實體數據模型依賴於實體鍵,它的查詢會生成實體鍵的唯一結果集。
現在來看看具體的操作過程和處理方式:
為了對資料庫的表進行操作,在資料庫的視圖中建立了一個連接兩個原子表的
vw_DesksAndUsers
的視圖,這個視圖旨在為了連接已存在的User表和Desk的數據,於是我做了如下的T-SQL的視圖,如下所示:
在SQL
Server
2008中得到的查詢結果如下:
也就是說得到了預期的結果,[這一步很成功].接下來進行第二步。
第二步:新建一個Silverlight商業應用程序SilverlightDomainDb,在生成的項目中會支持WCF
RIA服務。這是對Silverlight領域服務的支持所必須的。
第三步:在Web項目中添加一個ADO.NET實體數據模型的新項,在向導中選擇相應的資料庫連接和數據表、視圖及存儲過程等,完成以後會生成相應的實體數據類型和上下文,並得到。edmx的模型圖。如下所示:
根據Visual
Studio
2010的提示,它為我們生成了兩個實體鍵:DeskId,IsPlaying(這是Desk表中的兩個欄位);現在重新生成項目。
第四步:根據實體模型添加Web領域服務項。(在這一步需要添加相應的表和元數據信息)
第五步:Silverlight項目中將數據源所在vw_DesksAndUsers
的Datagrid拖到Home.xaml中,完成、調試。並沒有得到上面的結果,而是生成了如下的Datagrid:
經過仔細的觀察,才發現原來是ADO.NET實體數據模型中的結果集依賴於實體鍵,也就是說Silverlight領域服務會根據實體鍵的唯一生成查詢的結果集,於是就產生了上面的以DeskId為唯一鍵的數據。
處理:
根據以上的分析,要得到預期的結果,必須設置合適的實體鍵,為了不至於影響到底層的SQL資料庫,我們只需要修改。edmx模型圖中的的實體鍵即可(點擊右鍵選中或不選中"實體鍵"):
現在重新生成項目並運行程序,程序得到了預期的結果。
Silverlight商業應用程序作為一個專為數據顯示而生的模板,為資料庫的呈現提供了友好的界面,由於其優化的資料庫的處理方式使得我們在使用時不得不考慮一些它們之間的細微差別[由於在Visual
Studio中沒能看到有LINQ生成的T-SQL查詢語句,所以我也只是提供了一個簡單的解決方案而已],我想其深層的原因在於LINQ查詢中生成的T-SQL語句與資料庫中的T-SQL語句不同而產生。

熱點內容
長連接android 發布:2024-09-22 17:10:36 瀏覽:200
c語言輸出笑臉 發布:2024-09-22 16:38:49 瀏覽:371
安卓手機腳本錄制 發布:2024-09-22 16:35:32 瀏覽:93
密碼箱裡面的鑰匙是什麼 發布:2024-09-22 16:25:16 瀏覽:549
源程序編譯連接可執行程序 發布:2024-09-22 16:21:19 瀏覽:61
如果安卓手機一直關機打不開怎麼辦 發布:2024-09-22 16:00:08 瀏覽:834
象棋游戲演算法 發布:2024-09-22 15:55:56 瀏覽:869
iphone備份密碼忘了怎麼辦 發布:2024-09-22 15:41:06 瀏覽:323
4歲編程貓 發布:2024-09-22 15:18:46 瀏覽:580
androidopencv教程 發布:2024-09-22 15:04:59 瀏覽:456