程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> 關於ScriptEngine異常. 一個ScriptEngine超出了預期

關於ScriptEngine異常. 一個ScriptEngine超出了預期

編輯:關於C#
 

asp oracle8i,win2k advance server服務器經常死機,查到原因,死機時,在事件查看器中報錯:Script Engine異常,一個Script Engine超出預期'c0000005'在'IActive Script::SetScriptSite()',來自'CActiveScriptEngine::Init()'或報錯:意外錯誤,外部對象中發生一個可捕捉的對象(c0000005)腳本無法執行.或報錯類似第一個錯誤但具體::後不同函數.
  查了一些資料,發現::後的一些函數如addnameditem,setscript,parsescripttext,close是vbscript引擎與系統重要的溝通函數.
  自己得出結論:a:vbscript引擎vbscript.dll文件壞了 ; b:程序有問題,導致引擎失常.
  
  -----------------------------
  一、事件查看器 應用程序
  
  提示如下信息:
  
  錯誤: Script Engine 異常. 一個 ScriptEngine 超出了預期'C0000005' 在‘IActiveScript::SetScriptState()’,來自‘CActiveScriptEngine::ResetToUninitialized()’ 。。
  
  二,事件查看器 系統
  
  依次出現以下提示信息:
  
  1、服務器無法注冊管理工具發現信息。管理工具可能無法看到此服務器。數據錯誤。
  2、進程外應用程序 '/LM/W3SVC/39/Root' 意外地終止。
  3、進程外應用程序 '/LM/W3SVC/6/Root' 意外地終止。
  4、進程外應用程序 '/LM/W3SVC/4/Root' 意外地終止。
  5、進程外應用程序 '/LM/W3SVC/36/Root' 意外地終止。
  
  系統環境:WIN2000 SP4 SQLSERVER2000 IIS(asp+.net)
  具體說明:dllhost.exe內存使用超高,達到一定限度後WEB服務掛機,cpu占用率達到100%。結束dllhost.exe或重啟iis後web服務恢復正常,周期性的出現。
  ------------------------------
   
        使 用 過 相 關 解 決 方 法:
  ----------------------------------------------------------------------------
  1、從別的電腦上(同系統)拷貝Vbscript.dll,覆蓋前請備份!
  ----------------------------------------------------------------------------
  2、重裝iis
  ----------------------------------------------------------------------------
  3、更新ScriptEn.exe安裝一下
  
  ----------------------------------------------------------------------------
  4、更新“組件服務”,一下是具體操作(這個需要謹慎,最好在本地機器上操作熟練,或先生成服務安裝包!)
  
  a. 浏覽至“組件服務”並刪除下列程序包:注意:要刪除這些程序包,必須首先打開程序包的屬性,單擊高級選項卡,然後單擊以清除禁止刪除復選框。
  
  ? IIS In-Process Applications
  ? IIS Out-of-Process Pooled Applications
  ? IIS Utilities
  
  b. 打開命令提示窗口,然後使用以下命令切換目錄:
  cd %windir%\system32\inetsrv
  c. 運行以下命令:
  rundll32 wamreg.dll, CreateIISPackage
  注意:必須准確鍵入“CreateIISPackage”;它區分大小寫。
  regsvr32 asptxn.dll
  d. 關閉並重新打開“組件服務”。您應看到已經重新創建的所有這三個 IIS COM+ 應用程序。
  e. 從命令行運行 IISRESET,並對先前未正確加載的任意 ASP 頁進行測試。
  http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=c717d943-7e4b-4622-86eb-95a22b832caa
  
  2.另一種解決辦法:
  
  事件類型: 錯誤
  事件來源: Active Server Pages
  事件種類: 無
  事件 ID: 5
  描述:
  Script Engine 異常. 一個 ScriptEngine 超出了預期’’C0000005’’ 在’’IActiveScript::SetScriptState()’’,來自’’CActiveScriptEngine::ResetToUninitialized()’’ 。.
  
  解決文件:
  
  點擊浏覽該文件
  
  Script Engine 異常. 一個 ScriptEngine 超出了預期C0000005
  服務器運行一段時間後就會虛擬內存被占用滿..而導致IIS掛起..
  在運行是只要運行asp文件就會在服務器上出現如下錯誤事件
  類型: 錯誤事件來源: Active Server Pages事件種類: 無事件 ID: 5日期: 2003-12-26事件: 18:56:27用戶: N/A
  計算機: BOX29
  描述:錯誤: Script Engine 異常. 一個 ScriptEngine 超出了預期\’C0000005\’ 在\’IActiveScript::SetScriptState()\’,來自\’CActiveScriptEngine::ResetToUninitialized()\’ 。。
  若要獲取關於此消息的更多的信息,
  請訪問 Microsoft 聯機支持站點: ">http://www.microsoft.com/contentredirect.asp ; 。
  大家如果看到以上的系統日志那就請你不要著急了,我這裡就是你最終的答案.
  1主要是access引起的
  2access性能問題,只要超過50m性能急劇下降(這是網上的一個網友說的,本人沒有測試過,但是我任為基本是這樣的),意思是說access超過這個數字就有可能發生上面的錯誤.本人的數據access就200m.
  3解決的辦法就是把沒有用的數據備份,刪除這部分數據.降到50m以下.如果用一個新的就更好.
  4如果你覺的這樣還沒有真正解決問題,最好的辦法就是把accss升級為大型數據庫ms sql server 2000這樣就徹底的解決了問題.以後也不必擔心了.
  下面幾點也一定要注意,這個也與上面的問題有關
  1我們都知道打開連接是非常占內存的.在編寫程序時一定要釋放.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved