Time of Update: 2018-12-07
開發架構的演化最近看了篇文章 談談對於企業級系統架構的理解 ,總結了項目開發架構的演化過程。一、在我們剛開始學習架構的時候,首先會想到分層的概念,分層架構比較經典的是三層架構,那麼,什麼是三層架構呢?它包括表現層,業務層,資料訪問層;而對於一個新手來說,從抽象意義上的三層架構,邏輯上就劃分為三個層。這個是最基本的三層架構模式。二、表現層:充當系統的介面呈現以及UI邏輯的角色,也就是說,UI(使用者介面)屬於表現層; 舉一個對於asp.net
Time of Update: 2018-12-07
change set:46759 download:http://oxite.codeplex.com/SourceControl/ListDownloadableCommits.aspx Web應用程式的初始化我覺得應該分兩類,一類是系統級的初始化,另一類是應用程式級的初始化。兩者也有交叉的部分,如將會談到的Application_Start 和 Application_End
Time of Update: 2018-12-07
本文闡述了基於中繼資料和xml的流程設計工具的一種實現方案,目的是能夠讓流程設計工具以最小的變動來應對不同項目、不同業務情境的需求變化。 首先,我們來看一種比較常見的設計工具的結構: 上面僅是設計工具部分,該部分只是產生使用者建模流程的xml,至於後台解析部分該模型就不詳細介紹了。
Time of Update: 2018-12-07
EndRequest事件處理的作用是處理完"處理引擎(ProcessingEngine)"中的任務(Task)。 void IOrchardHost .EndRequest() { Logger.Debug( "EndRequest"); EndRequest(); } protected virtual void EndRequest() { // Synchronously
Time of Update: 2018-12-07
Razor文法的主要設計目標是:讓代碼和標記流能夠一起工作同時盡量不與控制字元衝突。例如,下面的ASPX代碼:<ul> <% foreach(var p in Model.Products) { %> <li><%= p.Name %> ($<%= p.Price %>)</li> <% } %> </ul> 現在,我們僅留下我們實際上關注的東西,去除額外的ASPX控
Time of Update: 2018-12-07
在weblogic9.1和9.2版本中使用其內建的資料庫驅動串連db2V9.5時,流程解析發布報錯: 經過測試,應該是weblogic自身提供的驅動版本問題。解決方案如下:1. 將db2安裝目錄下的驅動copy到目錄:%WL_HOME%\server\lib\2. 修改%WL_HOME%\common\bin下的commEnv.cmd檔案,在WEBLOGIC_CLASSPATH變數中增加內容:%WL_HOME%\server\lib\db2jcc.jar;%WL_HOME%\server\lib
Time of Update: 2018-12-07
ASPX文法比較簡單,所以ASPX解析器幾乎完全是通過Regex來實現的。Razor解析器與ASPX解析器之間有很大不同,它實際上分為三個獨立的組件:1)理解基礎HTML文法的標記解析器;2)理解基礎C#或者VB文法的代碼解析器;3)理解標記和代碼如何混合的中央控制器所以Razor解析器有三個參與者:代碼解析器,標記解析器,代碼解析器。三個組件相互配合,協同工作完成對Razor文檔的解析。Razor解析器有三種狀態,分別是:解析標記文檔、解析標記塊,解析代碼塊,任何情況下解析器都處在以上三種狀態
Time of Update: 2018-12-07
文章目錄 概述發現樣本裝載機選擇樣本引用解析配置更改檢測"~/App_Data/Dependencies/Dependencies.xml" 檔案參考文檔 Orchard作為一個可擴充的CMS系統,需要在運行時載入一些模組或主題(統稱擴充)。從Orchard 0.5版起就致力於讓安裝和升級這些擴充變得更加簡單。Orchard和其他任何一個ASP.NET MVC應用程式一樣,都可以在Visual
Time of Update: 2018-12-07
Razor中的內聯模板特性並沒有被廣泛討論,但是它提供了將內聯模板作為方法參數的能力。現在只有asp.net頁面中的Grid helper使用了內聯模板,也並沒有很多關於如何建立自己的模板協助類的文檔,但是本文會對其進行一定的探討。首先,我們來看一下當使用內聯模板的時候產生了什麼代碼。下面通過一個 "Repeat"的模板協助類來說明,這個協助類的功能是按照指定的次數重複輸出模板內容。使用這個協助類的頁面內容如下:<!DOCTYPE html> <html>
Time of Update: 2018-12-07
本文主要參考官方文檔"How Orchard works"以及Orchardch上的翻譯。源碼分析應該做到庖丁解牛,而不是以管窺豹或瞎子摸象。所以先對Orchard架構有個整體的瞭解,以及對一些基本概念有所認識。建立一個基於Web的CMS(內容管理系統)不同於建立一個普通的Web應用程式:它更像是建立一個應用程式容器。
Time of Update: 2018-12-07
從開發的角度講,Global.asax檔案是基於ASP.NET 應用程式的入口,而Application_Start方法正是一切的開始。 連結:IIS 5.0 和 6.0 的 ASP.NET
Time of Update: 2018-12-07
SAML的相關內容就不介紹了,想深究的可以研究下相關的規範,主要寫下大體的思路。通過SAML實現單點登入的運轉過程 此處的ServiceProvider是服務提供者,也就是使用者需要訪問的應用,IdentityProvider是認證提供者。通過可以看出,當使用者訪問一個應用的時候,如果使用者沒有登陸,那麼需要將使用者重新導向到認證服務,認證服務判斷該使用者是否已經經過認證,如果沒有認證過那麼進行認證,然後產生斷言響應發送給SP,SP負責處理斷言,驗證使用者是否認證通過。也就是說SP進行了請求轉寄
Time of Update: 2018-12-07
我們看一下之前例子中的代碼:<li>@p.Name ($@p.Price)</li>是如何解析的。 當遇到"<li>"字元序列的時候,解析器知道正在解析一個以"</li>"為結束標誌的標記。然後標記解析器在解析到結束標誌之前發現了一個"@"字元,就像"@foreach"一樣,再次切換到代碼解析器。這時和之前的解析有些不同,C#代碼解析器發現第一個標識符"p"時,它會檢查這個標識符是不是C#的關鍵字;當然"p"並不是C#關鍵字,所以代碼解析器進入"
Time of Update: 2018-12-07
在生產環境中tomcat記憶體設定不好很容易出現記憶體溢出。造成記憶體原因是不一樣的,當然處理方式也不一樣。 這雷根據平時遇到的情況和相關資料進行一個總結。常見的一般會有下面三種情況: 1.OutOfMemoryError: Java heap space 2.OutOfMemoryError: PermGen space 3.OutOfMemoryError: unable to create new native thread. Tomcat記憶體溢出解決方案 對於前兩種情況,在應用本身沒有
Time of Update: 2018-12-07
概述Host 是應用程式定義域級的單例,代表了Orchard應用程式。其處理應用程式生命週期中的初始化、BeginRequest事件、EndRequest事件等。 可以簡單理解為HttpApplication的功能轉移到了Host身上。從源碼角度上看,Host對應的是實現了IOrchardHost介面的
Time of Update: 2018-12-07
用新搭建的eclipse IDE開發環境開啟之前的eclipse工作空間之後,執行ant指令碼報錯:"Could not find the main class. Program will exit"。G了下資料,發現有人說,可能是更換環境之後,當前ant_home的目錄依然指向之前eclipse plugins的ant,於是按照說明將Window->Preferences->Ant->Runtime中的ant_home置為當前eclispe plugins中的ant目錄。
Time of Update: 2018-12-07
一般來說,當某一個對象有多個集合類型的子項目時,我們都會給每個子項目建立一個集合對象來承載子項目,類似於: public class Process {public var isExecutable:Boolean;public var refLaneSet:LaneSet;public var startEventList:ArrayList;public var endEventList:ArrayList;public var
Time of Update: 2018-12-07
HttpApplication對象是經由HttpApplicationFactory.GetApplicationInstance(並最終調用HttpRuntime.CreateNonPublicInstance)建立的HttpApplicationFactory它的主要任務是使用 URL 資訊來尋找 URL 虛擬目錄和彙集的 HttpApplication 對象之間的匹配關係。這個工廠類的行為概括為有以下幾點1、工廠類維護, HttpApplication
Time of Update: 2018-12-07
BeginRequest事件處理的作用是確保所有Shell已經載入,或者在擴充有變化的時候重新載入。 void IOrchardHost .BeginRequest() { Logger.Debug( "BeginRequest"); BeginRequest(); } protected virtual void BeginRequest() { // Ensure all
Time of Update: 2018-12-07
一個函數調用的本體與名稱同樣清楚易懂。在函數調用點插入函數體,然後移除該函數。int GetRating() { return MoreThanfiveLateDeliverise() ? 2 : 1; } bool MoreThanfiveLateDeliverise() { return _numberOfLateLiveries > 5; } int