当前位置:编程学习 > C#/ASP.NET >>

asp.net运行错误

请高手指点

答案:方法1、这个错误是由于没有设置网站的虚拟目录,最有效的解决办法是在IIS中把网站直接配置成站点

方法:在IIS里,点击你源码的虚拟目录,右键-》属性-》应用程序名-》创建
即:web.config要在站点的根目录下
如果是在VS中按F5出现这个错误,要修改一下sln文件中站点的路径。
建议:直接在IIS下配置站点,而不要VS中调试
注意:要在站点的根目录下建立虚拟目录,如果还是解决不了问题 建立站点(或者把站点根目录指向当前程序根目录,即web.config所在目录)

方法2、有时候还是不能用,可以尝试一下这种方法。
先装了.NET 2005 , 后装IIS, 程序在.NET下运行正常, 在IIS里报错:
服务器应用程序不可用
解决方法:
cmd 到 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727Y4ZG
运行 aspnet_regiis.exe空格-i
会显示开始安装 ASP.NET , 安装完毕后问题解决.

方法3、虚拟目录指向web.config所在在文件夹,因为web.config的某些配置节只能出现在网站的虚拟目录跟目录中。移除多余的留一个即可。

方法4、若IIS中没有应用程序名,先创建,若还不行把C:\WINDOWS\Microsoft.NET\work\v2.0.50727\CONFIG\ machine.config中的所有allowDefinition="MachineToApplication"改为allowDefinition="Everywhere",慎用,有时候改了可能会报其他错。

方法5、把你的虚拟目录指向web.config所在在文件夹,因为web.config的某些配置节只能出现在网站的虚拟目录跟目录中。

其他:如果使用iis调试,需要将网站或者虚拟目录设置为 应用程序,在iis属性里可以设置的
缺少引用,最好再检查一下代码。

出现此情况可能有如下问题:

1.IIS-属性-虚拟目录创建为应用程序

若IIS中没有应用程序名,先创建,若还不行把C:\WINDOWS \Microsoft.NET\work\v2.0.50727\CONFIG\machine.config中的所有 allowDefinition="MachineToApplication"改为allowDefinition="Everywhere"     

2.把位于子目录中的web.conig文件中的,Authentication配置节删除

3.原因:Machine.config里的allowDefinition="MachineToApplication"。
解决1:把allowDefinition设为:Everywhere。考虑到最好不要改动Machine.config文件,否则可能会引起其他错误。
解决2: <authentication mode="Forms"> 是应用级别的,不能在子目录级别的web.config内
设置,把它放在应用级别的web.config里,在子目录下用 <authorization>节来控制访问。
即: <system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
根目录下的web.config:
<authentication mode="Forms">
<forms loginUrl="~/admin/login.aspx" name="login" />
</authentication>
<authorization>
<allow users="*" />
</authorization>

上一个:asp.net编程基础
下一个:asp.net 如何安装

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,