|
(1)配置ASP.NET站點ISS報出:服務(wù)器應(yīng)用程序不可用.具體異常信息如下:
服務(wù)器應(yīng)用程序不可用
您試圖在此 Web 服務(wù)器上訪問的 Web 應(yīng)用程序當(dāng)前不可用。請點擊 Web 瀏覽器中的“刷新”按鈕重試您的請求。
管理員注意事項: 詳述此特定請求失敗原因的錯誤信息可在 Web 服務(wù)器的系統(tǒng)事件日志中找到。請檢查此日志項以查明導(dǎo)致該錯誤發(fā)生的原因。
我檢查ISS上其他的配置.發(fā)現(xiàn)全部都是ASP編寫的網(wǎng)站.屬性中查看運行的環(huán)境竟是ASP.NET Framework 1.1版本. 我修改成了.NET FrameWork2.0版本.結(jié)果出現(xiàn)這個錯誤提示.
(1)一般情況下.NET2.0和.NET1.1在程序池公用時就會出現(xiàn)"服務(wù)器應(yīng)用程序不可用"這個異常.其實是進(jìn)程池調(diào)用沖突的問題,如果訪問的兩個應(yīng)用程序,分別是2.0 和1.1, 而且他們共用一個進(jìn)程池,
IIS 無法同時將其解析2種版本,就會出現(xiàn)如上的錯誤.
解決問題辦法:修改其中之一的進(jìn)程池, 如把 2.0的應(yīng)用程序的進(jìn)程池改為 ASP.NET 2.0 . 即可
(2)方法二:重新注冊IIS, NET/Framework/v2.0.50727里的ASPNET_regiis.exe 運行它,重新注冊一下.NET ASPNET_regiis.exe -u 先卸載 ASPNET_regiis.exe -i 重新安裝 有時候重啟一下服務(wù)器就好了.
有時按照上面的兩種方法配置.還會報出同樣的異常.接著查看一下系統(tǒng)事件日志.來看看報出異常具體信息.這是在11-10日10點這個時段服務(wù)器上系統(tǒng)事件日志:
其中詳細(xì)信息:
1:由于無法創(chuàng)建應(yīng)用程序域,因此未能執(zhí)行請求。錯誤: 0x80070005 拒絕訪問。
2:未能初始化 AppDomain:/LM/W3SVC/1635210705/Root Exception: System.IO.FileLoadException
Message: 未能加載文件或程序集“System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一個依賴項。拒絕訪問
谷歌一下找到一個合理的解決方案:
1:安裝2.0之后,在IIS的虛擬目錄的屬性設(shè)置中會多出一個ASP.NET標(biāo)簽,在那里邊把運行時調(diào)整為2.0,默認(rèn)使用的是1.1的運行時。
2:這個是權(quán)限問題,首先檢查應(yīng)用程序池的屬性,看看它是以什么用戶身份運行的,一般是NETWORK SERVICE 然后確保這個用戶對.NET Framework 2.0的目錄有訪問權(quán)限,事實上應(yīng)該是有的。目錄是systemroot:/Windows/Microsoft.NET/Frameworks /2.0.xxxx .如果以上兩條都對,很不幸,你遇到了一個很奇怪的問題,我上次是把應(yīng)用程序池的用戶身份改成本地系統(tǒng)來運行的。按照第二種解決方案配置: 把運行池的訪問用戶設(shè)置為"本地系統(tǒng)", 然后運行程序, 錯誤沒在出現(xiàn), 成功解決,
當(dāng)然現(xiàn)在站點有的設(shè)計Silverlight集成開發(fā)用的.NET環(huán)境是3.5版本的.安裝后.NET FrameWork3.5SP1后.在屬性中ASP.NET一欄中依然只是1.1和2.0. 有人就問為什么沒有3.5?
從官方治療找到:3.5是基于2.0的 所以IIS里邊只有2.0. 3.5相對2.0只是增加了一些類型庫.他們的JIT是相同的所以IIS只需要2.0就可以了 沒有必要存在3.5.3.5的運行的還是基于2.0上邊
(2)在SQL腳本時用T-sql插入漢字時出現(xiàn)亂碼類似(????)等.如圖.
下午處理幾個版本更新。需要更新服務(wù)器上SQl2005的數(shù)據(jù)庫.我通過Visor生成數(shù)據(jù)庫腳本執(zhí)行時遇到漢字.就出現(xiàn)類似(???)亂碼. 在網(wǎng)上一直沒有找好成型解決方案.于是乎就對比著SQL2000版本原版數(shù)據(jù)庫屬性.發(fā)現(xiàn)在排序規(guī)則上有一定出入.SQL2005上默認(rèn)的數(shù)據(jù)庫排序規(guī)則是:SQL_Latin1_General_CP1_CI_AS,如圖.
這就是導(dǎo)致亂碼原因所在.將排序規(guī)則由默認(rèn)的SQL_Latin1_General_CP1_CI_AS修改為Chinese_PRC_CI_AS. 或在利用T_SQL語句在創(chuàng)建時執(zhí)行:ALTER DATABASE BasicDB COLLATE Chinese_PRC_90_CI_AS
注意:在修改時該數(shù)據(jù)庫對應(yīng)的屬性時必須關(guān)閉與該數(shù)據(jù)庫所有的對外連接.否則導(dǎo)致修改不成功.然后通過重啟SQL服務(wù)生效.
AspNet技術(shù):asp.net服務(wù)器上幾種常見異常的解決方案.,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。