主頁 > 知識庫 > ASP.NET編譯執(zhí)行常見錯誤及解決方法匯總

ASP.NET編譯執(zhí)行常見錯誤及解決方法匯總

熱門標(biāo)簽:陜西人工外呼系統(tǒng)哪家好 云南外呼電銷機(jī)器人系統(tǒng) 浙江外呼系統(tǒng)怎么安裝 廈門商鋪地圖標(biāo)注 上海楊浦怎么申請申請400電話 銅川小型外呼系統(tǒng)運(yùn)營商 地圖標(biāo)注多個行程 山西防封卡電銷卡套餐 海外地圖標(biāo)注門市標(biāo)

1.檢測到有潛在危險的 Request.Form 值
  原因:
  (1)在提交數(shù)據(jù)的頁面或webconfig中沒有對validateRequest的屬性進(jìn)行正確的設(shè)置
  (2)HTML里面寫了兩個form>引起
  解決:
  方案一: 在.aspx文件頭中加入這句: %@ Page validateRequest="false" %>
  方案二: 修改web.config文件:
  configuration>
  system.web>
  pages validateRequest="false" />
  /system.web>
  /configuration>
  因?yàn)関alidateRequest默認(rèn)值為true。只要設(shè)為false即可。

2.“在沒有任何數(shù)據(jù)時進(jìn)行無效的讀取嘗試”解決辦法

  原因:
  所返回的sqldatareader無數(shù)據(jù)記錄,但沒有作記錄判斷力處理。返回的是空值
  加上判斷即可: if (reader.read()) { TextName.Text =
  reader["FieldName"].ToString(); }

3.數(shù)據(jù)為空。不能對空值調(diào)用此方法或?qū)傩浴?/STRONG>

  原因:
  若對象是null,那么調(diào)用對象的方法例如ToString()肯定出錯一般是數(shù)據(jù)庫字段的值為空
  在grideview等數(shù)據(jù)控件常出現(xiàn)
  解決:因此建議作NULL處理

4.閱讀器關(guān)閉時 FieldCount 的嘗試無效

  原因:
  使用了SqlDataReader來綁定數(shù)據(jù)后,將connection對象作了Close()處理
  類似
  public SqlDataReader GetSomething()
  {
  conn.open();
  SqlDataReader reader =
  sqlcmd.ExcecutReader(CommandBehavior.CloseConnection));
  conn.close();// occur error here
  return reader;
  }
  在綁定的時候調(diào)用了這個方法來指定數(shù)據(jù)源。如果使用這個方法則需要在調(diào)用函數(shù)中關(guān)閉Re
  ader這樣conn就可以自動關(guān)閉。
  如果是使用的是SqlDataAdapter和DataSet那么請去掉顯式關(guān)閉conn的調(diào)用。或者在finally
  中調(diào)用之。

5.未能映射路徑

  原因:可能是在webconfig中的路徑配置不正確所致,在FCKEditor的配置中這種問題比較突出
  add key="FCKeditor:BasePath" value="~/admin/fckeditor/"/>
  add key="FCKeditor:UserFilesPath" value="/UserFiles/" />

6.Unreachable code detected

  原因:
  一般是在異常處理理或返回值時使用了 throw 或return ,可能是其位置放在前面,造成后面的代碼執(zhí)行到了。
  解決:
  把相關(guān)的異常拋出處理的語句(throw)或return 的語句放到代理執(zhí)行的最后一行。

7.索引超出范圍。必須為非負(fù)值并小于集合大小

  原因:
  (1).沒有設(shè)置DATAKEYFIELD設(shè)為數(shù)據(jù)庫中相對應(yīng)的唯一字段(一般是主鍵)
  (2).DataGrid1.Columns > e.Item.Cells
  解決:
  (1).設(shè)置datakeyfield
(2).加入判斷語句datagrid1.item.count (datagrid可以是其它相類似的服務(wù)器控件)

8. 錯誤:未找到路徑“C:\”的一部分。

說明:
執(zhí)行當(dāng)前 Web 請求期間,出現(xiàn)未處理的異常。請檢查堆棧跟蹤信息,以了解有關(guān)該錯誤以及代碼中導(dǎo)致錯誤的出處的詳細(xì)信息。
異常詳細(xì)信息:System.IO.DirectoryNotFoundException:未找到路徑“C:\”的一部分。
解決:
在C盤加上Users組讀取權(quán)限就可以訪問了,但出于服務(wù)器安全問題,應(yīng)該把UserS組權(quán)限去掉了,相繼的問題以不同的錯誤方式顯示出來了,如下面講到的問題,然后再一一解決。
9. 數(shù)據(jù)源不支持服務(wù)器端的數(shù)據(jù)分頁
  解決方法:
  不要使用DataReader,改成使用DataSet:或使用自定義分頁形式,不采用vs.net提供的分頁功能
  OleDbDataAdapter da = new OleDbDataAdapter(sql, connection);
  DataSet ds2 = new DataSet();
  da.Fill(ds2, "News");
  GridView1.DataSource = ds2;
  GridView1.DataBind();

10.對象名'***** '無效
  原因:當(dāng)前使用的數(shù)據(jù)庫中沒有*****這張表,或者當(dāng)前數(shù)據(jù)庫連接賬號沒有該對象的操作權(quán)限
  解決: 原因1的解決辦法:查看是否程序中是否寫錯了所調(diào)用的表的名稱或看一下SQL數(shù)據(jù)庫中是否存在你所調(diào)用的表 原因2的解決方法:將你數(shù)據(jù)庫的所有的對象擁有者改為dbo.
解決方案(本方案來自于網(wǎng)絡(luò),經(jīng)過實(shí)驗(yàn)為有效的)如下:
使用擁有的賬號連接查詢分析器,運(yùn)行如下sql語句:
可以使用 sp_changedbowner 更改數(shù)據(jù)庫的所有者。
方法一:右鍵點(diǎn)擊該表-》設(shè)計(jì)表,在上面的一排小圖標(biāo)中,點(diǎn)最后一個“條件約束”,點(diǎn)“表”頁,在里面更改所有者。(若沒有條件約束的小圖標(biāo),可以點(diǎn)右鍵,能看到一個“check約束”的選項(xiàng))
方法二:利用腳本直接執(zhí)行,用系統(tǒng)帳號或者超戶登陸到該數(shù)據(jù)庫,然后執(zhí)行下面語句:
sp_configure 'allow updates','1' go reconfigure with override go update sysobjects set uid=1 where uid>1 go sp_configure 'allow updates','0' go reconfigure with override /*批量替換
declare tb cursor local for select 'sp_changeobjectowner ''['+replace(user_name(uid),']',']]')+'].[' +replace(name,']',']]')+']'',''dbo''' from sysobjects where xtype in('U','V','P','TR','FN','IF','TF') and status>=0 open tb declare @s nvarchar(4000) fetch tb into @s while @@fetch_status=0 begin exec(@s) fetch tb into @s end close tb deallocate tb go
*/
11.在建立與服務(wù)器的連接時出錯。在連接到 SQL Server 2005 時,在默認(rèn)的設(shè)置下 SQL
  Server 不允許進(jìn)行遠(yuǎn)程連接可能會導(dǎo)致此失敗。 (provider: 命名管道提供程序,
  error: 40 - 無法打開到 SQL Server 的連接)
  solution: 主機(jī)上需要用固定的IP地址或服務(wù)器地址

12.SqlDateTime 溢出。必須介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM之間。
  出現(xiàn)這種問題``多半是因?yàn)槟愀聰?shù)據(jù)庫時``datetime字段值為空``默認(rèn)插入0001年01月01
  日``造成datetime類型溢出

13.出現(xiàn)-------表示“屬性”,此處應(yīng)為“方法”
  原因:
  1.VB與c#的方法,屬性的格式有所不一樣導(dǎo)致。
  2.可能是在design中綁定數(shù)據(jù)的語法出現(xiàn)錯誤 解決: 1.記住屬性用[] 方法用()
  2.記住綁定數(shù)據(jù)的正確語法(有以下幾種方式::%Container.DataItem(“字段名”)%> %
  #Eval(“字段名”)%> %Bind(“字段名”)%>等)

14.未能從程序集“DAL, Version=1.0.0.0, Culture=neutral,
  PublicKeyToken=null”中加載類型“DAL.SqlHelper”。
  原因:修改了其他層后未能重新編譯成dll
  解決:編譯一下(Rebuild)

15.為過程或函數(shù) 指定的參數(shù)太多,
  solution:調(diào)用存儲過程與定義的存儲過程所用的參數(shù)數(shù)量或所執(zhí)行的SQL語句中所傳入的參
  數(shù)個數(shù)不一致(這是個SQL的錯誤)
  解決方案:仔細(xì)檢查在存儲過程中所設(shè)定的參數(shù)變量,與實(shí)際輸入的參數(shù)值是否一一對應(yīng)

16.無法啟動調(diào)試,綁定句柄無效
  原因:系統(tǒng)的Terminal Services沒有開啟

17.Unable to debugging on the web server.Debug failed because integrated windows authentication is not enable
  解決方法:
  打開vs2005->工具(Tools)->選項(xiàng)(Option)->調(diào)試(debugging)->編輯并繼續(xù)(Edit and Continue)->全部打勾
18.Automation 操作中文件名或類名未找到: 'RegExp'
  解決方法:regsvr32 vbscript.dll

19.System.NullReferenceException: 未將對象引用設(shè)置到對象的實(shí)例。
  原因:
  (1)所設(shè)置的變量為空值或沒有取到值,一般出現(xiàn)在傳遞參數(shù)的時候出現(xiàn)這個問題,也會在使用datagrid或gridview或datalist等數(shù)據(jù)控件時出現(xiàn).
  (2)控件名稱與codebehind里面的沒有對應(yīng)
  (3)未用new初始化對象
  (4)在程序中所引用的控件不存在
  解決方法:
  (1)使用try..catch...finally捕捉錯誤,或直接用response.write()輸出所取的變量值
  (2)查看代碼中是否存在未初始化的變量

20.錯誤 1718。文件被數(shù)字簽名策略拒絕(安裝vs2005sp1時)解決方法:
  (1). 單擊“開始”,單擊“運(yùn)行”,鍵入 control admintools,然后單擊“確定”。
  (2). 雙擊“本地安全策略”。
  (3). 單擊“軟件限制策略”。(注意:如果未列出軟件限制,請右擊“軟件限制策略”,然后單擊“新建策略”。 )
  (4). 在“對象類型”下,雙擊“強(qiáng)制”。
  (5). 單擊“除本地管理員以外的所有用戶”,然后單擊“確定”。
  (6). 重新啟動計(jì)算機(jī)。
  微軟說明:
  http://support.microsoft.com/kb/925336

標(biāo)簽:自貢 許昌 常州 萊蕪 西雙版納 朔州 信陽 孝感

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP.NET編譯執(zhí)行常見錯誤及解決方法匯總》,本文關(guān)鍵詞  ASP.NET,編譯,執(zhí)行,常見,錯誤,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP.NET編譯執(zhí)行常見錯誤及解決方法匯總》相關(guān)的同類信息!
  • 本頁收集關(guān)于ASP.NET編譯執(zhí)行常見錯誤及解決方法匯總的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章