• 源码使用常见问题及解答

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

A:基本上在web.config中修改一下连接数据库字符串中的服务器名就可以了

二、未将对象引用到实例

A:第一种:重复定义造成未将对象引用设置到对象的实例错误一般在C#中造成“未将对象引用设置到对象的实例”错误都是控件名称与codebehind里面的没有对应。

第二种:空对象引用导致错误

1:控件不存在。(可加入判断是否为null来解决)

2:执行权限不够。加ASPNET和EVETRYONE所有权限。如:

(1)、ViewState 对象为null。

(2)、DateSet 空。

(3)、sql语句或Datebase的原因导致DataReader空。

(4)、声明字符串变量时未赋空值就应用变量。

(5)、未用new初始化对象。

三、说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。分析器错误信息: 未能加载文件或程序集“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 Files\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.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" />

解决方案三:

"PublicKeyToken=31bf3856ad364e35"或它的某一个依赖项。系统找不到指定的文件

将asp.net Ajax安装上,然后将X:\Program Files\Microsoft ASP.NET\ASP.NET 2.0 Ajax Extensions\v1.0.61025

安装了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:\WINDOWS\Microsoft.NET\Framework\v1.0.3705目录下,运行下面的命令:aspnet_regiis.exe -i

七、我的一个IIS只能在本机浏览,请问是怎么回事?

A:看看你的IIS的ip分配,如果你分配为127.0.0.1,除了你自己,谁也看不到。

如果你分配为你在局域网的地址,只有局域网里的人能看见。

你必须分配为公网地址,公网的人才能看见,但是局域网里的人就看不到了。

八、本机可以访问,其他机器无法访问,怎么回事?

A:可能是防火墙的问题!如果你是win2003,那就要修改目录文件夹的访问权限了!

九、用ASP.NET向本机写入文件时,发生错误提示如下:异常详细信息: System.UnauthorizedAccessException:对路径“c:\windows\system32\inetsrv”的访问被拒绝.

A:在c:\windows\system32\inetsrv目录添加aspnet用户读写权限

十、为什么我用你们的系统,按你们的步骤配置了系统,在我点后台登陆页面的时候,出现了该页无权访问?

说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。

分析器错误信息: 不允许有子节点。源错误:

行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:\Inetpub\wwwroot\ChinaLifeVoicePart\web.config 行: 86

十一、配置错误黄页

A:用vs2005开发的asp.net应用程序需要使用.net framework 2.0,而在iis中的默认.net环境是1.1。这时将发生不可识别的节点的问题。将.net环境升级为2.0,开始->运行->cmd->C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_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:\WINDOWS\Microsoft.NET\Framework\v2.0.507273.aspnet_regiis.exe -i 进行重新注册。问题即可解决。

二十、ASPNET登录SQL Server失败

分析:SQL Server中未有ASPNET账户权限

A:在SQL企业管理器或SQL Server Mangagement Studio中设置相应数据库安全规则,添加系统用户ASPNET,并赋予其db_owner的权限