分手快乐 发表于 2015-1-16 22:50:21

ASP.NET教程之VS2005(c#)项目调试成绩办理计划集锦

Java欺骗了我们那么多年,如今的多核时代,我认为它气数已尽!办理|成绩|项目  1.检测到有潜伏伤害的Request.Form值
  缘故原由:
  (1)在提交数据的页面或webconfig中没有对validateRequest的属性举行准确的设置
  (2)HTML内里写了两个引发
  办理:
  计划一:在.aspx文件头中到场这句:<%@PagevalidateRequest="false"%>
  计划二:修正web.config文件: 
<P><configuration>
<system.web>
<pagesvalidateRequest="false"/>
</system.web>
</configuration>
  由于validateRequest默许值为true。只需设为false便可。
  2.“在没有任何数据时举行有效的读取实验”办理举措
  缘故原由:
  所前往的sqldatareader有数据纪录,但没有作纪录判别力处置。前往的是空值
  加上判别便可:if(reader.read()){TextName.Text=
  reader["FieldName"].ToString();}
  3.数据为空。不克不及对空值挪用此办法或属性。
  缘故原由:
  若工具是null,那末挪用工具的办法比方ToString()一定堕落通常为数据库字段的值为空
  在grideview等数据控件常呈现
  办理:因而倡议作NULL处置
  4.浏览器封闭时FieldCount的实验有效
  缘故原由:
  利用了SqlDataReader来绑定命据后,将connection工具作了Close()处置
  相似
<P>publicSqlDataReaderGetSomething()
{
conn.open();
SqlDataReaderreader=
sqlcmd.ExcecutReader(CommandBehavior.CloseConnection));
conn.close();//occurerrorhere
returnreader;
}
  在绑定的时分挪用了这个办法来指定命据源。假如利用这个办法则必要在挪用函数中封闭Re
  ader如许conn就能够主动封闭。
  假如是利用的是SqlDataAdapter和DataSet那末请往失落显式封闭conn的挪用。大概在finally
  中挪用之。
  5.未能映照路径
  缘故原由:多是在webconfig中的路径设置不准确而至
<P><addkey="FCKeditor:BasePath"value="~/admin/fckeditor/"/>
<addkey="FCKeditor:UserFilesPath"value="/UserFiles/"/>

  6.Unreachablecodedetected
  缘故原由:
  通常为在非常处置理或前往值时利用了throw或return,多是其地位放在后面,形成前面的代码实行到了。
  办理:
  把相干的非常抛出处置的语句(throw)或return的语句放到代办署理实行的最初一行。
  7.索引超越局限。必需为非负值并小于汇合巨细
  缘故原由:
  (1).没有设置DATAKEYFIELD设为数据库中绝对应的独一字段(通常为主键)
  (2).DataGrid1.Columns>e.Item.Cells
  办理:
  (1).设置datakeyfield
  (2).到场判别语句datagrid1.item.count(datagrid能够是别的相相似的服务器控件)
  8.数据为空。不克不及对空值挪用此办法或属性

  9.数据源不撑持服务器真个数据分页
  办理办法:
  不要利用DataReader,改成利用DataSet:或利用自界说分页情势,不接纳vs.net供应的分页功效
<P>  OleDbDataAdapterda=newOleDbDataAdapter(sql,connection);
  DataSetds2=newDataSet();
  da.Fill(ds2,"News");
  GridView1.DataSource=ds2;
  GridView1.DataBind();
  10.工具名*****有效
  缘故原由:以后利用的数据库中没有*****这张表
  办理:检察是不是程序中是不是写错了所挪用的表的称号或看一下SQL数据库中是不是存在你所挪用的表
  11.在创建与服务器的毗连时堕落。在毗连到SQLServer2005时,在默许的设置下SQL
  Server不同意举行远程毗连大概会招致此失利。(provider:定名管道供应程序,
  error:40-没法翻开到SQLServer的毗连)
  solution:主机上必要用流动的IP地点或服务器地点
  12.SqlDateTime溢出。必需介于1/1/175312:00:00AM和12/31/999911:59:59PM
  之间。
  呈现这类成绩``多数是由于你更新数据库时``datetime字段值为空``默许拔出0001年01月01
  日``形成datetime范例溢出
  13.呈现-------暗示“属性”,此处应为“办法”
  缘故原由:
  1.VB与c#的办法,属性的格局有所纷歧样招致。
  2.多是在design中绑定命据的语法呈现毛病办理:1.记着属性用[]办法用()
  3.记着绑定命据的准确语法(有以下几种体例::<%Container.DataItem(“字段名”)%><%
  #Eval(“字段名”)%><%Bind(“字段名”)%>等)
  14.未能从程序集“DAL,Version=1.0.0.0,Culture=neutral,
  PublicKeyToken=null”中加载范例“DAL.SqlHelper”。
  缘故原由:修正了其他层后未能从头编译成dll
  办理:编译一下(Rebuild)
  15.为历程或函数指定的参数太多
  solution:挪用存储历程与界说的存储历程所用的参数数目或所实行的SQL语句中所传进的参
  数个数纷歧致(这是个SQL的毛病)
  办理计划:细心反省在存储过程当中所设定的参数变量,与实践输出的参数值是不是逐一对应
  16.没法启动调试,绑定句柄有效
  缘故原由:体系的TerminalServices没有开启
  17.Unabletodebuggingonthewebserver.Debugfailedbecauseintegratedwindowsauthenticationisnotenable
  办理办法:
  翻开vs2005->工具(Tools)->选项(Option)->调试(debugging)->编纂并持续(EditandContinue)->全体打勾
  18.Automation操纵中文件名或类名未找到:RegExp
  办理办法:regsvr32vbscript.dll
  19.System.NullReferenceException:未将工具援用设置到工具的实例。
  缘故原由:
  (1)所设置的变量为空值或没有取到值,一样平常呈现在传送参数的时分呈现这个成绩,也会在利用datagrid或gridview或datalist等数据控件时呈现.
  (2)控件称号与codebehind内里的没有对应
  (3)未用new初始化工具
  (4)在程序中所援用的控件不存在
  办理办法:
  (1)利用try..catch...finally捕获毛病,或间接用response.write()输入所取的变量值
  (2)检察代码中是不是存在未初始化的变量
  20.毛病1718。文件被数字署名战略回绝(安装vs2005sp1时)
  办理办法:
  (1).单击“入手下手”,单击“运转”,键进controladmintools,然后单击“断定”。
  (2).双击“当地平安战略”。
  (3).单击“软件限定战略”。(注重:假如未列出软件限定,请右击“软件限定战略”,然后单击“新建战略”。)
  (4).在“工具范例”下,双击“强迫”。
  (5).单击“除当地办理员之外的一切用户”,然后单击“断定”。
  (6).从头启动盘算机。
  微软申明:
  http://support.microsoft.com/kb/925336
  21.vs2005不克不及从源文件形式切换到视图形式
  办理办法:dos下运转下devenv/resetskippkgs(win+rcmd)
  22.ValidationofviewstateMACfailed

  办理举措:页面的顶部page加EnableViewState="False"EnableViewStateMac="False"来办理这个成绩
  23.Automationservercantcreateobject"(Automation服务器不克不及创立对)
  办理举措:运转:Regsvr32scrrun.dll便可。
  24.包加载失利
  未能准确加载包"VisualWebDeveloperTridentDesignerPackage"(GUID=
  {30AE7E28-6C02-496D-8E43-85F7A90AEFF1}。
  办理办法:
  1、设置体系变量VsLogActivity=1
  2、在%APPDATA%MicrosoftVisualStudio8.0文件夹下创立文件ActivityLog.xml
  Error
  MicrosoftVisualStudio
  LoadLibraryfailedforpackage
  {30AE7E2B-6C02-496D-8E43-85F7A90AEFF1}
  -------------------------------------------------
  8007007e
  c:ProgramFilesMicrosoftVisualStudio8Common7Packages        ridsn.dll
  3、从WINNTMicroSoft.NETFrameworkv2.0.xxx复制文件gdiplus.dll到ProgramFilesVisualStudio8Common7Packages文件夹下
  4、在命令行下运转命令:devenv/resetskippkgs
  25.Errorspawningcmd.exe.
  办理计划:把cmd.exe拷贝到VS安装目次下的VC/BIN目次里,能够办理成绩。
  26.实验读取或写进受回护的内存
  办理:硬件有成绩,一样平常内存有成绩
  27.没法在证书存储区中找到清单署名证书
  办理办法:用记事本翻开项目标.csproj文件,删除相似
  28.该项目中不存在方针“ResolveKeySource”。

  缘故原由:这个成绩很稀有,查询外洋相干材料后,大抵说是因为部署的不是一个尺度的solution,必要在VS自带的命令提醒中运转上面这个器材恢复
  办理办法:
  (1).将以下代码存为XML文件,定名为TestBuild.xml
<P><ProjectDefaultTargets="Build"xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

<PropertyGroup>
<TargetConnectionString>DataSource=.sql2005%3BUserID=SqlUser%3BPooling=False%3BPassword=X</TargetConnectionString>
</PropertyGroup>
<ItemGroup>
<DatabaseProjectInclude="Database1Database1.dbproj"/>
<DatabaseProjectInclude="Database2Database2.dbproj"/>
</ItemGroup>

<TargetName="BuildAllDatabaseProjects">
<MSBuild
Properties="TargetConnectionString=$(TargetConnectionString)"
Projects="@(DatabaseProject)"
Targets="Build;Deploy">
</MSBuild>
</Target>

  (2)在命令提醒中运转:msbuild/t:BuildAllDatabaseProjectsTestBuild.xml
  29.不克不及将值NULL拔出列**
  缘故原由:这是数据库表计划的毛病,所触及的表的字段中设置了不克不及为空的属性,可是传进的值为null,以是报错
  办理办法:检察是不是所传进的值是不是为Null,或修正数据库中表的所对应的列的属性
  30.未能加载范例"定名空间.类"...
  缘故原由:
  (1)项目修正后没有举行编译
  (2)项目华夏有的定名空间大概被修正了
  (3)项目中所必要的ascx或其他页面不存在,或不包括在项目中
  办理办法:
  (1)在修正完成以后,请从头天生或编译全部项目或办理计划
  (2)手工修正所修改的定名空间,注重称号的巨细写,再从头编译
  (3)将相干的文件包括在项目中
  31.不克不及会见只读文件“****.***"
  办理计划:
  给假造目次所对应的文件加上“Everyone/写进”权限便可
  32.哀求因HTTP形态401失利:AccessDenied
  办理办法:在iis信息服务器上把匿名会见和同意iis把持暗码给勾上
刚刚打开这篇专题,猛然见到HAL9000发表的《对于大型公司项目平台选择j2ee的几层认识》系列,深受启发。

冷月葬花魂 发表于 2015-1-20 05:20:08

ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象。

深爱那片海 发表于 2015-1-28 18:30:26

由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。

透明 发表于 2015-2-5 22:25:18

ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象。

分手快乐 发表于 2015-2-13 22:56:05

同时也感谢博客园给我们这个平台,也感谢博客园的编辑们做成专题引来这么多高人指点。

再现理想 发表于 2015-3-4 02:57:23

最强的技术支持WebService,而且有.NET的所有library做后盾。而且ASP.NET在.NET3.5中还有微软专门为AJAX开发的功能--ASP.NETAJAX。

山那边是海 发表于 2015-3-11 15:36:35

平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话,使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。

兰色精灵 发表于 2015-3-19 01:26:35

在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。

仓酷云 发表于 2015-3-27 01:10:56

由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。

再见西城 发表于 2015-3-27 01:10:56

对于中小项目来说.net技术是完全可以胜任,但为什么现在大型公司或网站都选择php或java呢?就是因为微软不够开放,没有提供从硬件到应用服务器再到业务应用的整套解决方案。
页: [1]
查看完整版本: ASP.NET教程之VS2005(c#)项目调试成绩办理计划集锦