ASP.NET上传服务器出错
分析器错误讯息:这是一个错误使用一节登记为allowdefinition=‘machinetoapplication‘以后的应用水平。这个错误可以造成一个虚拟目录没有被配...
分析器错误讯息:这是一个错误使用一节登记为allowdefinition = ‘ machinetoapplication ‘以后的应用水平。这个错误可以造成一个虚拟目录没有被配置作为一个应用在IIS 。用的是VS2008
展开
1个回答
2013-11-05
展开全部
出错提示: 在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误。
------------
解决方案:在IIS中先建立虚拟目录,如果没有创建为应用程序 在网站对应的虚拟目录上右键,选属性,然后在应用程序名后点创建。如还无法解决,则在IIS中右击WebSite,点“属性”,在“目录”的“应用程序设置”中,点“删除”删除“应用程序名”就可以了。如果在这样以后,还出现:“在应用程序级别之外使用注册为allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误。”这样的错误,在Web.config文件中删除<authentication mode="Windows" />结点就可以了。
若IIS中没有应用程序名,先创建,若还不行把C:\WINDOWS\Microsoft.NET\work\v2.0.50727\CONFIG\machine.config中的所有allowDefinition="MachineToApplication"改为allowDefinition="Everywhere"
解决的关键是:把你的虚拟目录指向web.config所在在文件夹,因为 web.config 的某些配置节只能出现在网站的虚拟目录跟目录中。.net 下用使用IIS建立虚拟目录是跟ASP下不同的,一定要指向文件夹的的跟目录.
=========================================================================
allowDefinition="MachineToApplication"
想利用以前看到的"使用web.config设置不同目录下的配置”,来玩一下多个web.config的继承.
问题是首先这样引出来的:
把一些原本放在根目录下的aspx文件,放到AuthFolder中,在其中加一个web.config,根目录下不再配置<authentication><authorization>;AuthFolder中需要该两项的详细、安全的配置.
编译通过,但浏览时提示"未能加载……(某个类)”.
紧急搜索了一些论坛,发现对于"未能加载……”的问题几乎没有作出答案,回复不过两种:一,重新生成一下;二,建虚拟目录;三,在AuthFolder中新建页面,然后拷贝代码,而不是直接拷贝页面到AuthFolder中.
然后看到的就是,继续的回复里"仍然没有解决……”的抱怨.
研究一下.
1,web.config是继承关系,根继承于machin.config;machin.config中有一些规定web.config如何设置的东西,即哪些配置能够在web.config中配置;
默认的:authentication、sessionState的配置只能发生在:虚拟目录、应用程序中.(由machine.config中allowDefinition="MachineToApplication"来定义)
2,Form验证是否必须将文件夹在IIS中配置成Application?
3,将子目录AuthFolder配置成Application后,里面的页面就会发生"未能加载……”(和搜索的结果相反:我这里是配置为虚拟目录后,才发生此现象??)的问题;不配置,则不能使用web.config配置AuthFolder目录下的<authentication>;
试了几个方法:
------------
解决方案:在IIS中先建立虚拟目录,如果没有创建为应用程序 在网站对应的虚拟目录上右键,选属性,然后在应用程序名后点创建。如还无法解决,则在IIS中右击WebSite,点“属性”,在“目录”的“应用程序设置”中,点“删除”删除“应用程序名”就可以了。如果在这样以后,还出现:“在应用程序级别之外使用注册为allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误。”这样的错误,在Web.config文件中删除<authentication mode="Windows" />结点就可以了。
若IIS中没有应用程序名,先创建,若还不行把C:\WINDOWS\Microsoft.NET\work\v2.0.50727\CONFIG\machine.config中的所有allowDefinition="MachineToApplication"改为allowDefinition="Everywhere"
解决的关键是:把你的虚拟目录指向web.config所在在文件夹,因为 web.config 的某些配置节只能出现在网站的虚拟目录跟目录中。.net 下用使用IIS建立虚拟目录是跟ASP下不同的,一定要指向文件夹的的跟目录.
=========================================================================
allowDefinition="MachineToApplication"
想利用以前看到的"使用web.config设置不同目录下的配置”,来玩一下多个web.config的继承.
问题是首先这样引出来的:
把一些原本放在根目录下的aspx文件,放到AuthFolder中,在其中加一个web.config,根目录下不再配置<authentication><authorization>;AuthFolder中需要该两项的详细、安全的配置.
编译通过,但浏览时提示"未能加载……(某个类)”.
紧急搜索了一些论坛,发现对于"未能加载……”的问题几乎没有作出答案,回复不过两种:一,重新生成一下;二,建虚拟目录;三,在AuthFolder中新建页面,然后拷贝代码,而不是直接拷贝页面到AuthFolder中.
然后看到的就是,继续的回复里"仍然没有解决……”的抱怨.
研究一下.
1,web.config是继承关系,根继承于machin.config;machin.config中有一些规定web.config如何设置的东西,即哪些配置能够在web.config中配置;
默认的:authentication、sessionState的配置只能发生在:虚拟目录、应用程序中.(由machine.config中allowDefinition="MachineToApplication"来定义)
2,Form验证是否必须将文件夹在IIS中配置成Application?
3,将子目录AuthFolder配置成Application后,里面的页面就会发生"未能加载……”(和搜索的结果相反:我这里是配置为虚拟目录后,才发生此现象??)的问题;不配置,则不能使用web.config配置AuthFolder目录下的<authentication>;
试了几个方法:
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询