首页>教程>工单中心>51aspx源码使用常见问题及解答(三十六计)

需要支持?

如果通过文档没办法解决您的问题,请提交工单获取我们的支持!

51aspx源码使用常见问题及解答(三十六计)

内容纲要

一、程序运行时出现的数据库连接错误


A:基本上在web.config中修改一下连接数据库字符串中的服务器名就可以了,不会修改的可以参考这个帖子 http://bbs.51aspx.com/showtopic-44356.html

二、未将对象引用到实例
A第一种:重复定义造成未将对象引用设置到对象的实例错误一般在C#中造成“未将对象引用设置到对象的实例”错误都是控件名称与codebehind里面的没有对应。
第二种:空对象引用导致错误     
1:控件不存在。(可加入判断是否为null来解决)
2:执行权限不够。加ASPNET和EVETRYONE所有权限。

(1)、ViewState 对象为null。
(2)、DateSet 空。
(3)、sql语句或Datebase的原因导致DataReader空。
(4)、声明字符串变量时未赋空值就应用变量。
(5)、未用new初始化对象。
(6)、Session对象为空。

三、说明在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。分析器错误信息未能加载文件或程序集“System.Web.Extensions,Version=1.0.61025.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。系统找不到指定的文件。
A基本上该类问题是缺少组件:System.Web.Extensions.dll

表现:
1、"System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。系统找不到指定的文件。
2、后台系统即使添加引用后,不管此引用是系统还是用户,他们的属性和方法都不能识别;
解决方案一:

1、如果你的程序运行在你能控制的服务器上,那么安装asp.net ajax就行了,这是System.Web.Extensions等dll做为GAC部署;(一般安装ajax就能解决)
2、如果你的程序运行在虚拟主机上(无权安装程序),那么需要把System.Web.Extensions.dll和System.Web.Extensions.Design.dll
(通常在C:Program FilesMicrosoft ASP.NETASP.NET 2.0 AJAX Extensionsv1.0.61025目录下)2个dll复制到你的web程序的bin目录下就行了,这是应用程序级别的部署。
同时注意要检查web.config中的代码:
<assemblies>
<add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</assemblies>
<controls>
<add tagPrefix="atlas" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</controls>

解决方案二:

1.打开web.config,找到以下相关结点:
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
     <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"></add>
     <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
     <add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
     <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
     <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
     <add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
2.将这些结果注释掉或删除,再重新编译就可以了.
这是因为VS2005编译的AJAX是1.0的,而VS2008能同时编译AJAX1.0和其他版本的.所以会出现冲突.

解决方案三:
PublicKeyToken=31bf3856ad364e35”
或它的某一个依赖项。系统找不到指定的文件
将asp.net Ajax安装上,然后将X:Program FilesMicrosoft ASP.NETASP.NET 2.0 Ajax Extensionsv1.0.61025
目录下的System.Web.Extensions.Design.dll文件加到项目的bin目录下,文件复制到网站bin目录下后再次运行,
安装了asp.net Ajax后会有三个dll文件
System.Web.Extensions.Design.dll
AjaxExtensionsToolbox.dll
System.Web.Extensions.dll
一般应该将这三个文件都添加到项目的bin目录下,要保险的话,全部复制进去吧



四、Web.config的黄页错误



这样的问题怎么解决?
A:造成这种情况的原因分析:
我们把虚拟主机的跟目录架设为wwwroot(大多数都是这个),在这个目录里你已经上传了一个asp.net的程序,这是一个虚拟目录(你可以不必了解这是什么东西,但是文件夹的父子关系你要弄明白),asp.net的站点需要放在一个虚拟目录里才可以被访问浏览.
你把系统放在了wwwroot下的一个新建的文件夹里,但是这个文件夹不是一个虚拟目录,所以造成你使用域名+文件夹名访问出错,错误如上图所示.
解决方法两种)
①需要你和虚拟主机的管理员沟通,和服务器管理员联系,让他把你放系统的文件夹设置成虚拟目录.
②首先假设网站管理系统被你放在了 wwwroot/JFCMS4.0 目录下(wwwroot为你的虚拟主机跟目录),
你必须把网站管理系统的bin文件移到根目录下才可以.

五、该页无法显示,您试图从目录中执行 CGI、ISAPI 或其他可执行程序,但该目录不允许执行程序。请尝试以下操作:如果您认为该目录应该允许执行访问权限,请与网站管理员联系。HTTP 错误 403.1 - 禁止访问:执行访问被拒绝。Internet 信息服务 (IIS)
A:解决方法
1.打开IIS设置.
2.在建立虚拟目录或者网站时注意以下设置:


注意要在这两个前面打上勾才行.

六、网站运行不了,总是出现server unavailoble问题?
A:这种问题大多数都是由于IIS的问题引起的.
.NET 安装的顺序应该是先装IIS,再装VS.NET,如果次序反了,或者IIS重装了,就需要使用aspnet_regiis.exe -i来重新安装IIS Mapping(主要用于aspx, asmx等文件的Extention的匹配)。在C:WINDOWSMicrosoft.NETFrameworkv1.0.3705目录下,运行下面的命令:aspnet_regiis.exe -i 

七、我的一个IIS只能在本机浏览,请问是怎么回事?
A:看看你的IIS的ip分配,如果你分配为127.0.0.1,除了你自己,谁也看不到。   
  如果你分配为你在局域网的地址,只有局域网里的人能看见。   
  你必须分配为公网地址,公网的人才能看见,但是局域网里的人就看不到了。   
  如果你设置为“全部未分配”,所有人都能看见了。

八、本机可以访问,其他机器无法访问,怎么回事?
A:可能是防火墙的问题!如果你是win2003,那就要修改目录文件夹的访问权限了!

九、用ASP.NET向本机写入文件时,发生错误提示如下:异常详细信息: System.UnauthorizedAccessException:对路径“c:windowssystem32inetsrv”的访问被拒绝.
A:在c:windowssystem32inetsrv目录添加aspnet用户读写权限

十、为什么我用你们的系统,按你们的步骤配置了系统,在我点后台登陆页面的时候,出现了该页无权访问?
A:出现这样的问题,可能于的IIS设置有关系,首先检查一下你的配置中是否启动了 网站--->身份验证和访问控制中的编辑---->集成windows身份验证. 还有要注意windows2003系统默认是不启动父路径的. 这里要自己钩选上.

十一、配置错误 
说明在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。 
分析器错误信息不允许有子节点。源错误
 84:    <compilers>
 85:      <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
 86:        <providerOption name="CompilerVersion" value="v3.5"/>
 87:        <providerOption name="WarnAsError" value="false"/>
 88:      </compiler>
源文件: C:InetpubwwwrootChinaLifeVoicePartweb.config    : 86
A这个是告诉你程序是.net3.5版本!!解决办法!!升级电脑.net框架版本本机安装的。NET framework 版本与程序web.config 所指定的不相符。

十二、配置错误黄页

A:用vs2005开发的asp.net应用程序需要使用.net framework 2.0,而在iis中的默认.net环境是1.1。这时将发生不可识别的节点的问题。将.net环境升级为2.0,开始->运行->cmd->C:WINDOWSMicrosoft.NETFrameworkv2.0.50727aspnet_regiis.exe -i

在网站上右键--------属性----------asp.net--把asp.net版本选择为2.0.50727即可解决. 
很明显的可以看了,是用了1.1的Framework
这是因为我的电脑装了VS.net 2003,之后又装了VS.net 2005,
IIS现在默认的是1.1框架,而我这个是2005下开发的,要用2.0的框架,
只要在命令行下运行 
C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/aspnet_regiis.exe -i 

十三、Server Error in '/' Application
A:请确保您的目录已经创建IIS应用程序
另外确保ASP.NET辅助进程被赋予相应的权限

十四、IIS局域网不能访问
A:
HTTP服务默认实用80端口,只需要在防火墙(特别注意系统自带的防火墙)中启用HTTP服务(80端口)就可以;如果使用其它的防火墙,也需要进行类似的操作。
打开防火墙-->选择(高级)-->点击(本地连接旁边的[设置]按钮)-->"web 服务器(http)"前面勾选,确定。

十五、下载的IIS不知道怎么怎么安装?
A:下载后解压缩放在你硬盘的任何位置。然后开始/设置 /控制面板/[添加/删除程序]/[添加/删除windows组建],然后在windows 组件向导中的internet 
信息服务旁边的方框里打上勾,(注意:先别按下一步,点击详细信息看看里面的那些方框是不是都打上勾了,如果没有,要全选上,不然会出现问题4)。现在
你按下一步,要求你插入光盘,没有盘,点击浏览,选择IIS存放的路径,然后确定,这里也许你就出现问题3了,如果没出现你很幸运!

十六、Windows 2003系统装上IIS不可用?
A:
在你装IIS之前需要知道你的系统是什么哪个版本的,像有的windows2003的64位系统有的就需要系统盘里面的IIS装上才可以使用,所以如果有盘的朋友
最好还是使用光盘来装IIS,实在没有的办法下才去尝试网络上下载,毕竟网络上的东西都是人家整理精简过的难免有些不全!

十七、安装后internet信息服务器中没有默认网站 
A:如果看不到默认网站,那再打开[添加/删除windows组建]中的internet 信息服务,详细信息里面的勾全打上了,如果还是没有,那就只能重装了!

十八、安装后在地址栏中输入http://localhost出现Server Application Error 错误即500 错误
A:
出现这个问题也不知道什么原因,不知道你出现了没有,解决方法是:开始”->“设置”->“控制面板”->“管理工具”->“组件服务”中,“控制台
根目录”->“组件服务”->“计算机”-> “我的电脑”->“COM+应用程序”中,有一个“IIS Out-Of-Process Pooled”鼠标右键“属性”--“标识”--把“此
用户”调整为“交互式用户--目前已登录的用户”。然后“确定”,再鼠标右键“属性”--“启动”。这里还有个问题就是找不到“IIS Out-Of-Process Pooled
”,那里面根本没有!怎么办?别急!开始/运行,输入msdtc -resetlog,然后重装IIS了,现在你应该能看到IIS Out-Of-Process Pooled了,这样就OK了!

十九、无法访问页面,现象为显示出所访问目录的全部文件
A:
此现象为.Net功能并未加载到IIS。先确认ASP.NET Framework 2.0是否已经安装。若没有安装先安装ASP.NET Framework 2.0,然后安装IIS。在IIS中的ASP.NET选项卡中将“ASP.NET版本”选择相应的版本号。重启IIS服务即可。

二十、IIS无法解析aspx的开头部分
(现象:名称以无效字符开头。处理资源   'http://localhost/test/Default.aspx '   时出错。第   1   行,位置:   2   )
分析:.NET组件并未在IIS注册。
A:首先确定ASP.NET Framework是否安装,若没有安装,请参照1问题解决。若以按要求安装.NET Framework2.0,则按照一下步骤解决:(1)开始>运行,输入CMD。(2)输入:cd   C:WINDOWSMicrosoft.NETFrameworkv2.0.507273.aspnet_regiis.exe   -i 进行重新注册。问题即可解决。


二十一、ASPNET登录SQL Server失败
分析:SQL Server中未有ASPNET账户权限
A:在SQL企业管理器或SQL Server Mangagement Studio中设置相应数据库安全规则,添加系统用户ASPNET,并赋予其db_owner的权限

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索