完美解決.net2.0和.net4.0在同一個iis中共同運行


  前幾天終於把項目做好了,開始部署到服務器上,問題又是一大堆,遇到的第一個問題是數據庫不兼容,幸好我的數據庫做的時候用腳本鍵的表改起來還是挺快的。不兼容的原因是SQL2008中的新屬性Date在數據庫中SQL2005不兼容。

接着開始部署iis了,一看服務器上竟然沒有裝.net 4.0 framework框架,(真是悲劇,開發之前我問過負責人說是sql2008,vs2010),然后把.net 4.0 framework裝好,然后把iis中新建一個網站,吧目錄指到網站的目錄,在吧iis框架選為4.0,網站重啟完了,在配置SqlConnection.config文件(我把數據庫連接單獨出來了),吧數據庫連接好了,我從數據庫中建立了一個單獨的數據管理人員,對此用戶進行了相應的權限的設置。一切就緒。

開始成功運行了網站,當時還是有一些激動的,畢竟都是吧自己電腦作為服務器,從沒有從服務器上部署過。

悲劇的在后面,第二天讓那些客戶測試,結果服務器拒絕了,真的很悲劇,看了一下系統的windows日志,知道了錯誤的原因。

錯誤的原因是因為這個服務器上既有.net2.0的項目,而我的項目是.net4.0的,雖然.net4.0可以兼容.net2.0,但是為什么會出現這個問題呢?

帶着問題,我開始了尋找答案,終於找了一篇文章說,重新建立一個新的應用池,然后這個網站放在這個應用池中。

具體的操作是打開iis(這里以windows server 2003的iis6.0為例),在左側找到一個應用程序池,然后新建一個應用程序池,就ok,看到這里,我突然想起來了看過一篇asp.net運行原理的文章,網站是在一個一個池中的(本來是有圖片的,現在暫時找不到了),然后把.net4.0的網站指向這個池(你自己的網站右擊屬性,在跳出的對話框中選擇主目錄,在最后的位子有個應用池選擇相應的應用池),重啟一下iis,問題解決。還來又出現了一個權限的問題,在應用池中把應用程序池標識選為預定義賬戶的本地系統。

在此打開網站,完美解決!

文章獻給那些和我遇到同樣問題的博友們!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM