昨天寫了一個類別引用IHttpModule的介面, 因為我們PM要記錄使用者點閱每個功能的次數,
然後我又不想每個link都改...所以想說可以試試看IHttpModule,
因為自己的筆電安裝的是win7系統, 正式主機上面安裝的是window server 2008系統,
win7的IIS版本是7.5, 應用程式集區的管線模式是整合式
win server 2008的IIS版本是7.0. 應用程式集區的管線模式是傳統
因為我的網站專案是掛在IIS7.5裡面的, web.config內有兩種標籤
1 | < system.web > |
2 | < httpmodules > |
3 | </ httpmodules > |
4 | </ system.web > |
5 |
6 | < system.webserver > |
7 | < modules > |
8 | </ modules > |
9 | </ system.webserver > |
我在<system.webServer></system.webServer>裡面的<modules></modules>裡面加上引用到IHttpModule的類別, ex. test.cs
1 | < add name = "test.cs" type = "test" ></ add > |
放在這個位置, test.cs會跑, 若放到<system.web></system.web>裡面的<httpModules></httpModules>則沒有作用; 反而在win server 2008的IIS7上面的web.config裡面設定在<system.web></system.web>裡面的<httpModules></httpModules>會跑, 放在<system.webServer></system.webServer>裡面的<modules></modules>則沒有作用.
為什麼IIS7跟IIS7.5會有這個差別, 我在想到底是為什麼, 難道真的是因為IIS版本的關係?
後來上網找了相關的文章, 發現好像是我在IIS7.5是將網站用到的應用程式集區管線設定成整合性, 而win server 2008上的IIS7版本則是將應用程式集區管線設定成傳統.
若我將IIS7版本的應用程式集區管線也設定成整合性的話, 也許也會變成是在<system.webServer></system.webServer>裡面的<modules></modules>區塊設定了, 但我不敢動手, 因為我怕有其他會被影響到,,,XD, 所以也只是推論而已.