.Net源码论坛 [ 繁体中文 ]

发新话题 回复该主题

[网站帮助] 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.Extensionsdll做为GAC部署;(一般安装ajax就能解决)
2、如果你的程序运行在虚拟主机上(无权安装程序),那么需要把System.Web.Extensions.dllSystem.Web.Extensions.Design.dll
(通常在C:\Program Files\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.0.61025目录下)2dll复制到你的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编译的AJAX1.0,VS2008能同时编译AJAX1.0和其他版本的.所以会出现冲突.


解决方案三:
PublicKeyToken=31bf3856ad364e35”
或它的某一个依赖项。系统找不到指定的文件
asp.net Ajax安装上,然后将X:\Program Files\Microsoft ASP.NET\ASP.NET 2.0 Ajax Extensions\v1.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文件移到根目录下才可以.


五、该页无法显示,您试图从目录中执行 CGIISAPI 或其他可执行程序,但该目录不允许执行程序。请尝试以下操作:如果您认为该目录应该允许执行访问权限,请与网站管理员联系。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:看看你的IISip分配,如果你分配为127.0.0.1,除了你自己,谁也看不到。  
  如果你分配为你在局域网的地址,只有局域网里的人能看见。  
  你必须分配为公网地址,公网的人才能看见,但是局域网里的人就看不到了。  
  如果你设置为“全部未分配”,所有人都能看见了。

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

九、ASP.NET向本机写入文件时,发生错误提示如下:异常详细信息: System.UnauthorizedAccessException:对路径“c:\windows\system32\inetsrv”的访问被拒绝.
A:c:\windows\system32\inetsrv目录添加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:\Inetpub\wwwroot\ChinaLifeVoicePart\web.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:\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的权限

    已有5评分我要评分查看所有评分

    最后编辑diana08 最后编辑于 2010-07-12 16:28:48
    本主题由 超级管理员 自由极光 于 5/13/2013 1:28:00 PM 执行 审核帖子 操作
    分享 转发
    TOP
    沙发

    嘿  我抢到沙发了
    不过这个我得好好看看昂  希望可以有更多的帮助!
    每天学习一点,每天进步一点!
    TOP
    板凳

    一天一天积累点,学的就多了。
    TOP
    地板

    在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错)



    使用的是ASP2005,sql2005 我根据你上面的回答一一做了设置 可是还是用不了
    还有就是我不知道在论坛里面那里可以发贴 看了帮助还是没有找到发贴这项在论坛的什么位置 只好打扰你了 谢谢你了
    TOP
    五楼

    回复 2# zyf08的 帖子

    恭喜楼主!
    .NET小常识:[url]http://bbs.51aspx.com/showtopic-13513.html[/url]
    源码下载:[url]http://www.51aspx.com[/url]
    联系电话/QQ:4000410510
    年轻人,不要浮躁!
    TOP
    六楼

    回复 4# xuxinyi08 的帖子

    您好 您的问题可以在【技术问答区】发帖[url]http://bbs.51aspx.com/showforum-42.html[/url]! 还有就是您的连接数据库的字符串没有写正确导致的!
    .NET小常识:[url]http://bbs.51aspx.com/showtopic-13513.html[/url]
    源码下载:[url]http://www.51aspx.com[/url]
    联系电话/QQ:4000410510
    年轻人,不要浮躁!
    TOP
    七楼

    关于AccessHelper的问题

    “AccessHelper”的类型初始值设定项引发异常。
    TOP
    八楼

    出错
    TOP
    九楼

    OA源码程序中是不是没有账号管理功能!!

    OA源码程序中是不是没有账号管理功能??也就是说如何管理我的OA成员,从哪可以管理OA用户???望告知!!谢谢!!
    TOP
    十楼

    Meta.Web.Controls.DropDownCalendar”同时存在于“c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\calendar\5186bca4\e656e632\assembly\dl3\ea2ae00b\0093d445_327fc701\Meta.Web.DLL”和“c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\calendar\5186bca4\e656e632\App_Code.euqlo6lh.dll”中能不能帮我分析一下怎么处理
    TOP
    发新话题 回复该主题