.net實習總結報告

來源:果殼範文吧 1.28W

一、實訓概要

.net實習總結報告

1、實訓內容

在將近一個月的時間內,本人和專案組其他成員一起,完成了一個基於微軟技術的網路辦公自動化系統(簡稱OA系統),該系統主要包括以下五個模組:考勤管理;簡訊管理;郵件管理;聯絡人管理和客戶管理。

2、擔任角色

本人在團隊中擔任頁面美工和程式設計師的角色,主要製作了母板頁和簡訊管理模組的全部頁面,並且製作了與之相關的類圖、用例圖和資料庫表,成功完成了簡訊模組的程式設計開發工作。

3、實訓結果

通過本次實訓,主要培養了自己的規範研發能力,學習了企業專案開發的整個過程和團隊專案開發經驗,並且加強了新技術的學習,熟練掌握了常用的軟體開發工具(如VisualStudio 2005) 的操作規程。

二、技術收穫

1、系統企業架構

在研發的開始階段,先學習了PETSHOP 4.0的系統架構,系統掌握了規範開發中的架構體系,為開發順利進行打下基礎。該系統採用常見的分層架構模式,一般分為三層,從下至上分別為:資料訪問層、業務邏輯層(又或成為領域層)、表示層。

(1)資料訪問層:有時候也稱為是持久層,其功能主要是負責資料庫的訪問。簡單的說法就是實現對資料表的Select,Insert,Update,Delete的操作。在PetShop的資料訪問層中,由於沒有使用ORM,從而導致了程式碼量的增加,可以看作是整個設計實現中的一大敗筆。

(2)業務邏輯層:是整個系統的核心,它與這個系統的業務(領域)有關。以PetShop為例,業務邏輯層的相關設計,均和網上寵物店特有的邏輯相關,例如查詢寵物,下訂單,新增寵物到購物車等等。如果涉及到資料庫的訪問,則呼叫資料訪問層。

(3)表示層:是系統的UI部分,負責使用者與整個系統的互動。在這一層中,理想的狀態是不應包括系統的業務邏輯。表示層中的邏輯程式碼,僅與介面元素有關。在PetShop中,是利用來設計的,因此包含了許多Web控制元件和相關邏輯。

2、頁面相關技術

(1)頁面的處理順序:

頁面是由事件來驅動的,首先執行的是Init事件,在程式碼中,系統自動增加了一個OnInit的過載函式,從而在頁面Init的時候就執行這個OnInit函式。在這個函式中,會執行InitializeComponent函式,這個函式裡就有很多控制元件事件的代理函式。頁面在執行完Init之後,就是Load事件,對應的程式碼就是Page_Load。 然後就是引起頁面返回的事件的程式碼,當然,如果頁面是第一次執行的話,就沒有這一步了。 也就是說,頁面每次重新整理的時候都會執行Page_Load函式,這也就是為什麼有些程式碼要寫在

if (!stBack)

{ ... }

中的原因。比如有一個文字框,如果在Page_Load中設定初始值,放在哪兒呢?如果放在if外面,那每次重新整理的時候都會執行這個賦值語句,即使在頁面中修改了文字框的值,在返回之後仍然會消失,但是如果放在if之中,那就可以了,返回之後文字框中仍然是先前的值。很多次實驗中DataGrid無法獲取編輯後的值,也可能就是這個原因。

(2)JavaScript在頁面中的應用:

雖然採用新的執行機制,但是最後生成的還是能被一般瀏覽器識別的HTML和JavaScript程式碼,在頁面中,仍然可以通過e來寫出一段JS程式碼,比如要彈出一個新的瀏覽器視窗,可以用e(@"");在Web控制元件中,Attributes屬性集合也和JS聯絡緊密。新增加的一個Attributes元素就對應Web控制元件最後生成的HTML程式碼的一個屬性或者事件。

(3)Web控制元件

有幾個控制元件是我們應該有很深的理解的:DataGrid、DataList。這兩個控制元件在顯示資料上為我們提供了極大的方便,它們的各種用法,需要我們在實踐中不斷摸索、不斷總結。另外,自定義控制元件也是一個比較重要的範圍。在自定義控制元件的型別選擇上,如果你只是一般的顯示一些固有的控制元件,而不作屬性、事件的操作,那寫成User Control會簡單一點,這樣的自定義控制元件相當於ASP中通過include執行的程式碼。如果你想在設計、執行中修改控制元件內部的屬性、得到控制元件的某些事件,那最好寫成一個dll檔案,也就是寫成一個類,這樣的控制元件可以像一般的Web控制元件一樣,用滑鼠拖動大小,設定屬性,獲取事件等。

3、資料處理相關

(1)將快取資訊繫結到DataGrid上

private void bindCache()

{

string str = ();

DataTable table = new DataTable();

("CacheName", typeof(string));

("CacheType", typeof(string));

IDictionaryEnumerator enumerator = numerator();

int num = 0;

while (Next())

{

bool flag = true;

if ((str != "") && (ring()xOf(str) < 0))

{

flag = false;

}

if (flag)

{

num++;

DataRow row = ow();

row["CacheName"] = ;

row["CacheType"] = ype();

(row);

}

}

= ring()();

Source = table;

Bind();

}

(2)清除指定的快取

Private void DataGrid1_DeleteCommand(object source, GridCommandEventArgs e)

{

string text = s[0];

if (e[text] != null)

{

ve(text);

Cache();

}

}

三、經驗教訓

1、編譯錯誤和警告處理

警告: 不能將專案xxxxx中的依賴項“xxx, Version=1.0.1777.21016, Culture=neutra,複製到執行目錄,因為它將改寫引用“xxx, Version=1.0.1777.23397, Culture=neutral”。”

分析:

A是一個公用的類庫,很多其它的專案都會引用到它。

B是一個專案,其中就引用到了

C也是一個專案,不過C要引用A和B

問題就是:當A重新編譯了之後,B並沒有重新編譯,這個時候如果編譯C就會有上面那樣的警告。這是因為如果一個專案引用了一個庫,那麼編譯該專案的時候,編譯器預設是要把這個庫複製到該專案的輸出目錄下的(當然你可以修改這個設定)。對這個例子來說就是要把和複製到C的輸出目錄下。先說,首先會把複製到C的輸出目錄下;再說,因為B引用了A,所以會把B目錄下的和一起復制到C的輸出目錄下,這個時候就出問題了。因為B沒有重新編譯,所以B目錄下的的版本就比C目錄下的已經有了的版本要低,編譯器就會報那個錯誤了。

錯誤:當生成 Visual C# 應用程式時,可能會在編譯器中收到以下錯誤資訊:

error CS0518: The predefined type 'type' is not defined or imported(未定義或匯入預定義型別“type”)

原因:可能在命令列編譯器上指定了 /nostdlib 選項; 程式可能包含對不正確的 檔案的引用; 可能沒有正確地將 Visual Studio 或 框架軟體開發工具包 (SDK) 安裝在系統上; 系統上可能有早先安裝的 框架 SDK 的殘留元件,而這些元件與最新的安裝版本不相容。

解決方案:若要解決這一問題,可以按照下列步驟操作: 確保不在命令列編譯器中指定 /nostdlib 選項。確保專案引用正確的 檔案。 如果第 1 步和第 2 步都不能解決這個問題,則重新安裝 框架 SDK。

2、頁面美化經驗

內容,尤其是表格當中上下兩單元格的圖片連不到一塊,即總是在兩個圖片之間出現一些不希望有的空隙時,將兩個單元格中再分別嵌入一個表格再將兩圖片分別放入其中。則可以解決些問題。

熱區的建立程式碼:

圖片當做為連結時有時會出現奇怪的邊框,解決方法,將圖片的border手動設為0.

設計頁面時的順序最好是:首先設計出網頁圖片,然後將網頁圖片做成網頁,最後在此基礎上加入動態控制的東西。

四、展望及建議

1、開發前景展望

在本次實訓中,我們僅僅實現了最基本的網路辦公功能,但是,在網路辦公領域出現的新技術和新功能我們都沒有涉及。鑑於這些缺陷,我想應該從以下兩個方面改進:功能完善和技術領先。

(1)功能完善

網路辦公系統發展到今天,在功能方面已經很完善了。除了我們開發的考勤,郵件等宮恩年個以外,還有與手機等現代通訊體系相關的一些核心功能。例如:可以相容簡訊,行動網路和短距離網路通訊等多種通訊方式,可以工作在各種基於mobile的智慧手機平臺,能夠提供簡訊的分發、後處理,資料流傳送、檔案分發、通訊,移動裝置與固定終端的同步、互動及一體化的功能。

(2)技術領先

通過學習惠普的新技術,把網路列印、網路影印、網路傳真、網路掃描等功能有機地整合在一起,實現真正的遠端自動化辦公。

2、實訓建議

1、加強校內實訓室的建設與管理,保證實訓時間靈活;

實訓室是開展實訓教學的場所,是實訓教學的基本保證,因此必須加強建設。

(1)完善與規範專案實訓室,我們現有實訓室在實訓中已發揮了重要作用。但是

實訓室的管理存在問題,比如開放時間和日常管理方面(2)根據實訓內容及時更新與調整配置新的裝置,以滿足實訓之需。

2、規範專業實訓體系,制定正規實訓大綱。

(1)根據國家標準,制訂有專業特色的實訓大綱。規範教學大綱和明確具體的考核標準:學生實訓守則、學生實訓成績考核辦法、實訓安排(內容、學時分配等)、實訓考核評分標準等。這些要提前讓我們知道;

(2)實訓組織、過程設計。實訓設計組織應遵循:合理性、準確性、可行性、簡潔性原則。應由專任教師根據實際情況制定;

(3)實訓結果評價,要求指導教師對我們所做作品進行收集、儲存、評價或現場評價;

(4)進行分層次、分組實訓教學。進行分組分層實訓,並在分組中形成快中慢班。這種做法,切合學生的實際,更符合學生的要求,因材施教,可培養一批基礎好,肯鑽研的技能高手,滿足各層次操作技能的學習。

(5)注重技能考核,促實訓教學質量。每個實訓教學階段結束後,學校應組織學生參加各種國家勞動技能考核。一方面促進了學生的學習,另一方面也考核了學校實訓教學效果。

熱門標籤