ASP.NET Visual Studio2010 發佈Web網站問題詳解

今天研究了一下如何發佈web網站,之前總是沒耐心,遇到點問題就沒心情搞了,今天總算有點耐心搞明白了。其實遇到的問題還是挺多的,網上也沒有太全的解釋,所以結合自己還有別人的方法進行一下總結。

環境:Win7系統,Visual Studio 2010,IIS6.1

關於發佈部分,大家可以查看此鏈接http://wanghaitaoboke.blog.163.com/blog/static/1708725122012527716235/,步驟寫的很詳細。補充一下:在其第二步【發佈Web】部分,【目標文件】處要選擇一個非項目工程所在文件夾。

如果大家各方面設置的都比較好,看完上面的文章你的網站就已經發布了,在局域網內已經可以瀏覽了。不過,通常如果你是首次發佈,應該不會那麼順利。重點在下面:

當在地址欄中輸入設定的IP地址+端口號後可能出現以下幾種情況。

問題一,檢測到在集成的託管管道模式下不適用的ASP.NET設置。

wKioL1POFKTgahLxAAeP-N2p45M282.jpg

解決辦法:打開IIS,選擇應用程序池,會看到右側的操作欄中有一項爲【設置應用程序池默認設置】,點擊進入,把【啓用32位應用程序】置爲true,把【託管管道模式】置爲Classic。如圖

wKioL1POFL7iEPsNAAJZdLWZ2p0111.jpg

問題二,由於Web服務器的“ISAPI 和 CGI 限制”列表設置,無法提供您請求的頁面。

wKiom1POE9Oh4aDqAAjgluflWzE001.jpg

解決辦法:打開IIS,選擇根目錄,雙擊【ISAPI和CGI限制】這項,然後將【ASP.NET v4.0.30319】這兩項均設置成允許。如圖

wKioL1POFQXTVRklAAMMOPZtvoo976.jpg

wKiom1POE_zzzQm6AAHXQ6mhlfM949.jpg

問題三,沒有可訪問的表。請確保在Global.asax中註冊了至少一個數據模型並啓用了基架,或者實現自定義頁面。

wKiom1POFCHBOZUAAAgX0pU9_J8622.jpg

解決辦法:打開工程,打開Global.asax文件,在RegisterRoutes 方法下我們可以看到下面內容

            //                    重要: 數據模型註冊 
            // 取消對此行的註釋,爲 ASP.NET Dynamic Data 註冊 LINQ to SQL 模型。
            // 若要設置 ScaffoldAllTables = true,需符合以下條件,
            // 即確定希望數據模型中的所有表都支持基架(即模板)。若要控制各個表的
            // 基架,請爲表創建分部類並將
            // [ScaffoldTable(true)] 特性應用於分部類。
            // 注意: 請確保將“YourDataContextType”更改爲應用程序的數據上下文類的
            // 名稱。
            // model.RegisterContext(typeof(YourDataContextType), new ContextConfiguration() { ScaffoldAllTables = false });

把代碼段解注後,用自己創建的上下文替換YourDataContextType,把ScaffoldAllTables 置爲true,我用的是Linq to Sql 寫的數據部分。修改後是這個樣子

            DefaultModel.RegisterContext(typeof(BmsContextDataContext), new ContextConfiguration() { ScaffoldAllTables = true });

修改之後,不要忘記重新再發布一次。

問題四,不能打開數據庫,登錄失敗

wKiom1POFFvS3BfVABFLAhUKktA768.jpg

解決辦法:這個問題剛出來的時候有點懵,以爲是IIS設置的問題,後來仔細一瞅,隱隱覺得似曾相識,通過查看數據庫連接,發現果然是連接數據庫上出現了問題,跟IIS設置無關。而這個問題的解決方法在以前的一篇文章中詳細寫過,遇到這個問題的時候,都是這麼解決的,大家可以看以下鏈接:http://zhouhongyu1989.blog.51cto.com/2931598/1390501

解決了以上幾個問題之後,再次登錄發佈後的網站,就能正常訪問了,然後又在同局域網的其他機器上驗證了一下,也沒什麼問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章