寫自己的ASP.NET MVC框架(上)
寫了幾篇細說之后,今天打算換換口味,還是來寫代碼吧。所以,這次博客將以實際的代碼來展示在ASP.NET平臺上開發自己的框架,我希望也能讓您發現這并不是件難事。我在前面的博客【用Asp.net寫自己的服務框架】中,發布了一個用ASP.NET寫的服務框架,那個框架我目前仍在使用中。近來,由于時常也會有人... ...
NoSQL和MemeryCache的出現意味著傳統數據庫使用方式的變革嗎?
故事的起源 作為軟件工程專業出身的程序員,之前所接受的關于數據庫的教育都是基于關系型數據庫。對key-value based數據庫和document-based數據庫的都只是僅僅了解而已。 最近公司要做一個類似電商的系統,我來負責數據庫的設計和接口的提供。當然,我們使用的數據庫也是傳統的關系型數據庫... ...
客戶端與服務器持續同步解析(輪詢,comet,WebSocket)
在B/S模型的Web應用中,客戶端常常需要保持和服務器的持續更新。這種對及時性要求比較高的應用比如:股票價格的查詢,實時的商品價格,自動更新的twitter timeline以及基于瀏覽器的聊天系統(如GTalk)等等。由于近些年AJAX技術的興起,也出現了多種實現方式。本文將對這幾種方式進行說..... ...
C#綜合揭秘——細說多線程(上)
本文主要從線程的基礎用法,CLR線程池當中工作者線程與I/O線程的開發,并行操作PLINQ等多個方面介紹多線程的開發。
其中委托的BeginInvoke方法以及回調函數最為常用。
而 I/O線程可能容易遭到大家的忽略,其實在開發多線程系統,更應該多留意I/O線程的操作。特別是在ASP.NET開發當中... ...
Fiddler 教程
Fiddler是最強大最好用的Web調試工具之一,它能記錄所有客戶端和服務器的http和https請求,允許你監視,設置斷點,甚至修改輸入輸出數據. 使用Fiddler無論對開發還是測試來說,都有很大的幫助。 閱讀目錄 Fiddler的基本介紹 Fiddler的官方網站: www.fiddler2. ...
挨踢項目求生法則-設計篇
一味追求所謂的優雅設計,項目可能會死的很慘。客戶購買的是軟件而不是你的設計。如果你在客戶面前介紹你的設計如何精妙、如何OO、如何依賴注入?那客戶只能當你是火星人看了,客戶并不會因為你的設計如何精妙而原諒你的推遲交付和增加費用。如果為了節省時間,忽略設計或者粗略設計,項目同樣很可能會死得很慘!沒有想清... ...
細說 HttpHandler 的映射過程
在ASP.NET編程模型中,一個來自客戶端的請求要經過一個稱為管線的處理過程。在整個處理請求中,相對于其它對象來說,HttpHandler的處理算得上是整個過程的核心部分。由于HttpHandler的重要地位,我前面已經有二篇博客對它過一些使用上的介紹。【用Asp.net寫自己的服務框架】中談到了它... ...
使用 Task 簡化異步編程
本文介紹了常見的 .Net 異步編程模式, 以及如何用 Task 對象包裝這些異步編程模式, 并給出了一個使用 Task 對象包裝異步操作, 簡化代碼的例子。 ...
細說 ASP.NET控制HTTP緩存
在上篇博客【細說 ASP.NET Cache 及其高級用法】中,我給大家介紹了ASP.NET Cache,這種服務端使用的緩存API 。在我們開發一個ASP.NET網站的過程中,其實有很多地方都是可以使用緩存的,只是由于ASP.NET是一種基于服務端的開發平臺,自然我們也經常在服務端的代碼中使用各類... ...
【ASP.Net MVC3 】使用Moq讓單元測試變得更簡單
Moq是一個針對.Net開發的模擬庫,它的目標是讓模擬以一種自然的方式與現有單元測試進行集成,使它更加簡單、直觀,以避免開發人員被迫重寫測試或高成本的學習測試框架。 ...
sqlserver數據庫大型應用解決方案總結
隨著互聯網應用的廣泛普及,海量數據的存儲和訪問成為了系統設計的瓶頸問題。對于一個大型的互聯網應用,每天百萬級甚至上億的PV無疑對數據庫造成了相當高的負載。對于系統的穩定性和擴展性造成了極大的問題。一、負載均衡技術負載均衡集群是由一組相互獨立的計算機系統構成,通過常規網絡或專用網絡進行連接,由路由器銜... ...
玩轉git,讓git成為個人工作備份利器(即使是電腦小白也推薦學習)
前言不要把這篇文章當做給編程人員的技術文章,即使你對編程一無所知,按照這篇文章的指引一步步學習,仔細模仿,也可以很容易地學會如何去做。更重要的是,這篇文章將讓你介紹如何讓git成為你的工作日志,成為你的備份工具,成為你的項目管理軟件。沒錯,git讓這一切變得如此簡單。背景OK,什么是git? Wik... ...
T-SQL查詢高級—SQL Server索引中的碎片和填充因子
寫在前面:本篇文章需要你對索引和SQL中數據的存儲方式有一定了解.標題中高級兩個字僅僅是因為本篇文章需要我的T-SQL進階系列文章的一些內容作為基礎. 簡介 在SQL Server中,存儲數據的最小單位是頁,每一頁所能容納的數據為8060字節.而頁的組織方式是通過B樹結構(表上沒有聚集索引則為堆結構... ...
C#綜合揭秘——細說事務
事務是在數據層、服務層、業務邏輯層多處地方都會使用到的東西,在本篇文章將會為大家一一細說。在軟件系統當中可以看到無論在數據庫、Web服務、WCF、文件系統都存在著數據參與到事務運作當中,我們把管理這些數據的工具稱為資源管理器RM(Resources Manager)。而事務管理器TM(Transac... ...
MVC3+EF4.1學習系列(十一)----EF4.1常見的問題解決
博客寫了10篇了~有很多朋友私信問了一些問題,而且很多問題 大家問的都一樣 這里說說這些常見問題的解決辦法.如果大家有更好的解決辦法~也希望分享出來
問題大概為這幾個
一.ef4.1 codeFirst 修改表結構 增加字段等 EF code first需要重新生成庫導致數據丟失的問題.... ...
深入理解JavaScript系列(2):揭秘命名函數表達式
前言網上還沒用發現有人對命名函數表達式進去重復深入的討論,正因為如此,網上出現了各種各樣的誤解,本文將從原理和實踐兩個方面來探討JavaScript關于命名函數表達式的優缺點。簡單的說,命名函數表達式只有一個用戶,那就是在Debug或者Profiler分析的時候來描述函數的名稱,也可以使用函數名實現... ...
細說 ASP.NET Cache 及其高級用法
許多做過程序性能優化的人,或者關注過程程序性能的人,應該都使用過各類緩存技術。而我今天所說的Cache是專指ASP.NET的Cache,我們可以使用HttpRuntime.Cache訪問到的那個Cache,而不是其它的緩存技術。以前我在【我心目中的Asp.net核心對象】這篇博客中簡單地提過它,今天... ...
T-SQL查詢高級--理解SQL SERVER中非聚集索引的覆蓋,連接,交叉和過濾
寫在前面:這是第一篇T-SQL查詢高級系列文章.但是T-SQL查詢進階系列還遠遠沒有寫完。這個主題放到高級我想是因為這個主題需要一些進階的知識作為基礎..如果文章中有錯誤的地方請不吝指正.本篇文章的內容需要索引的知識作為基礎。 簡介 在SQL SERVER中,非聚集索引其實可以看作是一個含有聚集索引... ...
大叔手記(16):分析URL Routing和URL Rewriting兩者之間的不同
前言前面有2篇帖子提到了關于URL Routing的特性,但是發現有很多人誤會URL Routing就是URl Rewriting,其實2個雖然都提供相似的功能(提高友好的URL方便搜索引起收錄),但是2者的原理和運行周期是完全不一樣的,本篇文章我們就來分析一下具體有什么不同。例子在分析原理之前,我... ...
【輕松學排序算法】眼睛直觀感受幾種常用排序算法
1 快速排序介紹: 快速排序是由東尼·霍爾所發展的一種排序算法。在平均狀況下,排序n個項目要Ο(nlogn)次比較。在最壞狀況下則需要Ο(n2)次比較,但這種狀況并不常見。事實上,快速排序通常明顯比其他Ο(nlogn) 算法更快,因為它的內部循環(inner loop)可以在大部分的架構上很有效率地... ...



