看到本質而不是現象–解決ASP.NET CS0016的問題

來源:互聯網
上載者:User

往往一個規範的開發Team中,一個新來者最容易讓這個Team的老隊員們感到頭痛。所以很多時候,我們都安排新員工一批的進來,並儘可能的給每個新手指派一個指導老師。
其實並非我們不看重這些新手的能力,事實上很多時候,他們的技術水平和編程能力非常非常的高,所以我們是害怕他們創新的力量,記憶中無數次了,經常是新來的人一臉委屈的解釋說,"我什麼也沒做",不過結果有時是災難的,比如VSS的某個專案檔被莫名破壞了,DailyBuild莫名中斷了,一個運行很穩定的模組突然出現奇怪的Bug。甚至是一秒鐘前還能正常啟動並執行程式,突然不能運行了。
那些所謂的老鳥,往往蒙頭大幹很久,才發現原來原來,某個地方被小小修改了一下,而往往這種修改是這樣的機緣巧合。而更多的時候,這些老鳥,把這個問題程式化的變成了運氣說,運氣好,你能解決這個問題,運氣更好一點,你還能找到原因。

這兩天我們Team的一個老鳥就碰到了這樣的問題,ASP.NET的項目突然在一個新來的開發人員的機器上報下面的錯誤,老鳥又看到了委屈而無畏的神情---對方的潛意識在說,"我什麼也沒做,一分鐘前還好好的,突然就這樣了"
錯誤資訊:
CS0016 : 未能寫入輸出檔案
C:\Windows\Microsoft.NET\Framework\V1.1.4322\Temporary ASP.NET File\logtest\ae3a7b05\21b60d47\kxxnk5bg.dll --拒絕訪問

然後老鳥接著做了很多嘗試
關閉索引服務 --結果錯誤依舊!
重新啟動機器 ----結果錯誤依舊!
使用 aspnet_regiis.exe 重新註冊一下----結果錯誤依舊!
修改Network Services在Temporary ASP.NET File目錄下的許可權到最高----結果錯誤依舊!
修改IIS Application Pool 的啟動使用者為系統使用者 ---成功
-----看來是network Service 使用者的許可權問題,總算有了方向 找到了FileMon

10秒鐘發現了問題,原來Network Services 不能存取系統目錄的Temp目錄

ASP.NET 會使用這個目錄做編譯嗎? 但修改Network Services帳戶對Temp目錄的許可權之後,問題解決了。

老鳥自己也很奇怪,ASP.NET為什麼會使用Temp目錄做某一個檔案的即時編譯? 第二,為什麼剛剛還沒有問題的機器,突然需要做這樣的使用權限設定?

吃飯的時候,如果有酒,我們差點一起敬他一杯,因為---他的運氣不錯!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.