2013-04-10 45 views
0

任何人都可以解釋,請.net究竟如何工作。我Visual Studio創建一個網站,它在IIS在哪裏查找文件

D:\WebSites\Project1 

發佈到本地服務器上的文件夾我在IIS中創建一個網站,並提供包含該文件的網頁文件夾的地址。當我發佈站點時,使用'修復命名和單頁面程序集',所有.aspx文件進入D驅動器的文件夾,每個頁面的dll進入該文件夾內的bin文件夾。

我會假設,如果有人想在他們的瀏覽器查看頁面,IIS檢索從指定的文件夾所需的文件(S),他們得到處理,變成了HTML和發送到瀏覽器。

最近當有人點擊調用Web服務的頁面上的按鈕 - 而不是報告發現錯誤的文件。顯然

C:\Temp\bx5tn2js.dll 

無法找到。事情是 - 爲什麼IIS決定在C:\ Temp中查找文件?

而且,在錯誤消息是XML序列化的引用的負載。什麼是序列化?

+0

這看起來像ASP.NET生成的編譯 – Aristos 2013-04-10 08:19:42

+0

我不明白的臨時文件。當然,這些文件在我發佈時已經編譯完成。爲什麼要編譯任何東西? – 2013-04-10 08:32:44

+0

你有沒有看到,asp.net網頁有運行的代碼?因此,它需要被編譯,並有一個臨時文件夾爲... http://msdn.microsoft.com/en-us/library/ms178466(v=vs.100).aspx – Aristos 2013-04-10 08:37:09

回答

0

這個文件看起來像編譯文件that asp.net generates on compile.

此文件夾可以在web.config中設置上compilation session

tempDirectory="C:\Temp" 

如果你沒有設置這個選項asp.net是使用默認文件夾,通常在asp.net目錄內,在windows文件夾內。但是如果你設置了這個,並且這個文件夾沒有正確的權限,那麼asp.net就無法編譯這個項目,並且你可以得到這樣的消息。

+0

我還是不明白這一點。當然,代碼被編譯到dll文件夾中的bin文件夾中,但是你說編譯的代碼會在asp.net目錄中結束? – 2013-04-10 08:52:27

相關問題