KW大師的標準答案(也不是標準,他自己的一些想法,而且由於當時是Beta1,有一些不一樣了,比如XSPWP.exe
來源:互聯網
上載者:User
標準 1. Page class 實現了哪個重要的 interface?
a: IHttpHandler
偶以為瞭解 .net class, interface 特重要的說......
2. foo.aspx 編譯後的 class 名字是什嗎?
a: foo_aspx
擴充問題:如何動態地,用程式(programmatically)引用一個 user control?
有什麼要注意的?
別告訴我 msdn beta 1 裡有。你編譯一下就知道它在胡說。
3. Shadow-copy dll 存在哪裡?
a:
考慮一下,如果沒有一種機制(現在我們管它叫 shadow-copy),
我們能否刪除/改變正在被使用的 dll?
比如在 vb6+iis+asp+mts 環境中,多少次需要 restart iis service or reboot...
4. 談談 AutoEventWireup
a:
有誰發現自己寫的某些事件被執行了兩遍? ;)
5. 關於 Directive 中的 Inherits:一個 aspx 可能 inherits 多個 class 嗎?
多個 page 可能 inherits 一個 code behind 嗎?
a:
c# 中不能多重繼承。
但多個不同 aspx 肯定能 share 一個 code behind ---- 哪怕 page 裡的 server control 不一樣。
6. @Assembly 和 csc /r 和 vs.net 項目中 reference 的關係是什嗎?
a:
需要同時使用 ide 和手工編譯的人最清楚了。;-(
7. web control 和 html control 在 performance 上有區別嗎?
a:
文檔上總說 beta1 拒絕 performance 測試 ;-)
8. 對 asp.net 的請求是由哪個 isapi extension 處理分發的?
a:
xspisapi.dll 在 iis mmc 中改
如果有自己寫的繼承 IHttpHandler 的東東,知道這些就有用了。
9. 這個 isapi extension 實際上把請求 forword 到哪個 process?
a:
xspwp.exe
10 如果使用外部進程維護 session,這個進程是什嗎?
a:
aspstate.exe
在 config.web 裡面修改設定,可以把 session 放在其它機器上,甚至 sql 裡。
這樣就可以直接支援 web farm 了。
但 session 變數如果是 object,就會有個 serialize 的過程,很耗資源。
如何讓你的 object 更好地支援 serializable interface 是個比較大的話題,
實在敲不動的說。
11 如何自己做個 httphandler? 能想出它有什麼實際用處嗎?
a:
實現 IHttpHandler 做出自己的 handler 很簡單,但很有用,比如當使用者請求一些
特殊檔案時,比如 *.log,你可以在 config.web 中設定定向到你自己的 handler 上,
讓它做處理。
12 談談 HttpModule
a:
問題 11 的延伸
13 如何在 VS.NET 中 debug asp.net 應用?
a:
attach process
14 如果你通過繼承 System.Web.UI.Control 寫了個 Custom Control,
如何加上對 client-side script 的支援?
a:
沒什麼可說的。
15 在 aspx 頁面中放上一些 TextBox, ListBox 等等 Web Control,
但在 code-behind 中並不定義它們,是否可能使用這些 control?
a:
能。通過 page.controls, or form.controls, or container.controls whatever...
這樣你可以做出完全不同的 web UI,share 一個共同的 code behind,
做出真正 generic 的應用。