[筆記]從別台Server抓檔案到loacal端(下)

  • 3469
  • 0

摘要:[筆記]從別台Server抓檔案到loacal端(下)

續上篇

方法一可能會有人覺得太鳥,不夠漂亮

方法二的話,同事比較多人用,個人覺得會不會有磁碟機代號衝突的問題

因為如果寫成共用服務,mutlithread在跑,難保會有衝突的問題

方法三的話,實際測試是失敗的=.=,懷疑文章作者沒有測過,不然就是沒把connection斷乾淨

因為一直出現錯誤的登入者帳號,要用NET USE打通才能下載檔案

而且下載回來的檔案日期會變動,其他三種並不會

方法四是文章作者所推崇的,的確這樣做看起來比較漂亮

不過在實際在執行發現花的時間是好幾倍,主要花在File.Copy的時間上,

不知道是溝通上回應需要花這麼多的時間還是有其他設定的問題。

以下就以可以抓檔為原則,可以無視第一次(四種方法第一次跟第二次有蠻大的落差)

  方法一 方法二 方法三 方法四
1 0.48S 1.33S 0.58S 0.36S
2 0.47S 1.05S 0.52S 0.36S
3 0.45S 1.16S 0.45S 0.33S
4 0.56S 1.13S 0.61S 0.34S

以上的測試數據,我是用VS2010 UnitTest上的執行時間

四種都是傳入同樣的參數

方法二比方法一多花一些時間是正常的,畢竟需要再做映照磁碟機的動作。

方法三看起來就一樣,可能.Net Framework的內部處理優化很相似

比較弔詭的方法四,一開始的時間高達15S,後來的時間變得比其他方法的執行時間還短

這其中的差異還有待去追查,不過一開始的時間這麼久並不符合我的需求

因為我的服務起來要抓檔每次都要等他這麼久會被影響到效能

PS.

後來發現第一次比較久,是因為TestDriven啟動的時間,所以以下又做一張表

每次都重新啟動

  方法一 方法二 方法三 方法四
1 2.08S 2.89S 2.27S 17.00S
2 2.08S 2.70S 2.22S 1.22S
3 2.09S 2.72S 2.27S 2.03S
4 2.14S 2.81S 2.30S 2.08S

這樣看起來的執行時間比較正常,差異跟之前的比較也相似