檔案的應用,在程式設計上一直是個重點。雖然有了資料庫幫我們紀錄資料,但有些小資料不需要勞師動眾、也不必存放太久,如果用一個文字檔來記錄,反而更簡單。
舉例來說,尚未上線的系統、或是有些功能繁雜的程式要撰寫。我們就可以利用檔案的功能來做紀錄。一邊測試一邊記錄這些程式在各階段的運作狀況,每個階段成功與否都可以直接寫入文字檔裡面,不需要跟資料庫搶資源、搶連線。畢竟小檔案I/O的速度,一般來說都快過資料庫。
本文範例已經收錄在書本的「第十七章 資料流 與 I/O」!
檔案的應用,在程式設計上一直是個重點。雖然有了資料庫幫我們紀錄資料,但有些小資料不需要勞師動眾、也不必存放太久,如果用一個文字檔來記錄,反而更簡單。
舉例來說,尚未上線的系統、或是有些功能繁雜的程式要撰寫。我們就可以利用檔案的功能來做紀錄。一邊測試一邊記錄這些程式在各階段的運作狀況,每個階段成功與否都可以直接寫入文字檔裡面,不需要跟資料庫搶資源、搶連線。畢竟小檔案I/O的速度,一般來說都快過資料庫。
以前我做過B2B的案子,用Rosettanet XML來傳遞資料(關於Rosettanet,請看中文網站的說明,http://www.rosettanettaiwan.org.tw/)。當時用的技術是 VB 6.0 + ASP + MS BizTalk Server + MS SQL Server 2000。
依照實際的狀況,我們會同時用「檔案」與「資料庫」來記錄這些流程。底下的五大步驟,前三項都會用文字檔做紀錄,因為這些小資料是自己Debug(除錯)用的,往往是系統出問題才會去察看,也不太有保留的價值,所以我們採用文字檔來記錄。
1. 程式定時啟動(例如:每五分鐘啟動一次),並開始記錄處理流程。
2. 從資料庫搜尋資料。符合條件的紀錄就撈出來,組合成XML檔案。
(執行時間與XML檔案都會存成文字檔,存在專有的目錄底下)
3. 將XML檔案,轉換成 Rosettanet格式。
(執行時間與Rosettanet XML檔案都會存檔,放在專有的目錄底下)
4. 交給 Server準備發送。此時,就會用資料表來記錄時間與相關資料了。
5. 傳送給對方的Server。對方收到後,我們也會把時間記錄在資料表裡面。
註解:後面兩個流程要用資料表來做紀錄,是為了給客戶與主管查驗,日後也能統計與分析我們這套B2B系統的發送成功率等等。
除了大型的系統、複雜的程序需要做Log紀錄檔之外,網站常用的「訪客計數器」,也可以用檔案的方式來控管。可見存取檔案的用法,真的很多樣化。
題名: |
ASP.NET專題實務
[廣告&團購] 新書上市-- ASP.NET專題實務(文魁出版) 本書目錄:http://www.kingsinfo.com.tw/item_detail.asp?pro_id=7085 |
||
ISBN: | 978-986-204-238-0 | 著者: |
周棟祥博士, 吳進魯
MIS2000 Lab. 編著
審稿教授:南台科大 吳盛博士 |
出版者: | 文魁資訊 http://www.kingsinfo.com.tw | 出版時間: | 2008.07 |
版次: | 初版 | 裝訂: | 平裝附光碟片 |
分類號: | 312.1695 | 標題: | 網頁設計 , 全球資訊網 |
Q:每一天都用一個檔案,用來記錄當天每支程式內部的執行狀況。
以下是相關的規範:
1. 檔案統一放在 C:\MIS2000Lab_ASP.NET_Log目錄底下。
2. 每一天都用一個單獨的子目錄,子目錄名稱就是當天日期。
3. 檔名必須是以當天日期為名,副檔名是.log,例如:20081231.log。
4. 檔案內每一段訊息,都要記錄完整的日期與時間(年/月/日/時/分/秒)。
每段訊息各自獨立一行,格式如下:
[2008/04/01 14:00:33] Message: 錯誤訊息XXXYYY
5. 檔案內的文字,採用 Big5正體中文來編碼。
記錄檔案的後置程式碼如下,其實不難,大部分都學過了。

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32 '--每一段訊息,都要記錄完整的日期與時間(年/月/日/時/分/秒)。
33

34

35

36 '--每一個紀錄檔的副檔名都是 .log
37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

56

57

58

59

60

61

62

63

64

65

66

67

68

後續還有兩個衍生的範例.......有機會再公開
本文範例已經收錄在書本的「第十七章 資料流 與 I/O」!
..........................................................................................
相關文章,請看這一篇----FileUpload控制項,檔案上傳
相關內容,均收錄在我的新書裡面。請參考:[廣告] 新書上市-- ASP.NET專題實務(文魁出版)
下一篇文章:
File 與 Log #2----[圖片版]訪客計數器(用.txt檔案來記錄)
我將思想傳授他人, 他人之所得,亦無損於我之所有;
猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson
線上課程教學,遠距教學 (Web Form 約 51hr) https://dotblogs.com.tw/mis2000lab/2016/02/01/aspnet_online_learning_distance_education_VS2015
線上課程教學,遠距教學 (ASP.NET MVC 約 140hr) https://dotblogs.com.tw/mis2000lab/2018/08/14/ASPnet_MVC_Online_Learning_MIS2000Lab
寫信給我,不要私訊 -- mis2000lab (at) yahoo.com.tw 或 school (at) mis2000lab.net
(1) 第一天 ASP.NET MVC5 完整影片(5.5小時 / .NET 4.x版)免費試聽。影片 https://youtu.be/9spaHik87-A
(2) 第一天 ASP.NET Core MVC 完整影片(3小時 / .NET Core 6.0~8.0)免費試聽。影片 https://youtu.be/TSmwpT-Bx4I
[學員感言] mis2000lab課程評價 - ASP.NET MVC , WebForm 。 https://mis2000lab.medium.com/%E5%AD%B8%E5%93%A1%E6%84%9F%E8%A8%80-mis2000lab%E8%AA%B2%E7%A8%8B%E8%A9%95%E5%83%B9-asp-net-mvc-webform-77903ce9680b
ASP.NET遠距教學、線上課程(Web Form + MVC)。 第一天課程, "完整" 試聽。
......... facebook社團 https://www.facebook.com/mis2000lab ......................
......... YouTube (ASP.NET) 線上教學影片 https://www.youtube.com/channel/UC6IPPf6tvsNG8zX3u1LddvA/
Blog文章 "附的範例" 無法下載,請看 https://dotblogs.com.tw/mis2000lab/2016/03/14/2008_2015_mis2000lab_sample_download
請看我們的「售後服務」範圍(嚴格認定)。
......................................................................................................................................................
ASP.NET MVC => .NET Core MVC 線上教學 ...... 第一天課程 完整內容 "免費"讓您評估 / 試聽

[遠距教學、教學影片] ASP.NET (Web Form) 課程 上線了!MIS2000Lab.主講 事先錄好的影片,並非上課側錄! 觀看時,有如「一對一」面對面講課。
