2008-12-24 99 views
1

我試圖在另一個Web應用程序中安裝一個應用程序。我有我的.aspx頁面和一些我正在放入主應用程序的app_code文件夾中的代碼。我已經爲自己的連接字符串添加了自己的web.config文件,但我認爲存在衝突。所以我的問題是兩個參與者。首先,在另一個應用程序中安裝應用程序的最佳方式是什麼,即應該使用主應用程序app_code文件夾還是添加自己的應用程序,其次,是否會與兩個web.config文件發生衝突。我的印象是這些文件從最具體的web.config文件中提取。看來我的安全存在問題,我無法訪問我的文件。我歸屬這兩個web.config文件,嵌套文件夾中的web.config

謝謝。

回答

1

如果嵌套應用有它的文件夾變成一個應用程序(它在IIS中屬性單擊鼠標右鍵,並在「應用程序」選項卡上,「創建」一個新的應用程序),你應該把代碼在本地App_Code文件夾:

- \RootFolder  // Root of website 
|- \App_Code  // App_Code at root 
|- \NewApplication // Seperate application in IIS, has "web in a box" icon in IIS 
| |- \App_Code  // App_Code of new application 

如果嵌套應用程序是不是一個真正的應用程序(在IIS意義上的),那麼你就需要有根的App_Code文件代碼文件夾。

這也對你的web.config有影響 - 如果嵌套的應用程序是一個真正的應用程序,那麼你將能夠在你想要的級別有一個完整的web.config - 但是如果它不是一個IIS應用程序,那麼在後續的web.configs中可以放置什麼是有限制的 - 一些元素只能在應用程序根目錄下的web.config中允許,並且不能被其他設置覆蓋。

你看到的實際錯誤是什麼?

+0

如果您使用的是WAP項目,該怎麼辦?沒有app_code文件夾!你應該使用WAP,網站項目吸。 – PositiveGuy 2009-10-13 21:35:48

1

關於你的第一個問題,我寧願讓他們部署在不同的文件夾。第二,例如,如果您有一個默認網站內的網站,您將擁有兩個web.config,但更具體的將覆蓋默認網站中web.config的一些屬性,但是那些不重寫的將會在那裏(即,HTTPHandlers,HTTPModules,該網站將嘗試加載這些內容,因此您需要在HttpModules中添加remove標籤來刪除它們)。

希望這澄清你的問題