Configuration 错误:IIS7管理的请求

Configuration 错误:IIS7管理的请求,configuration,iis-7,httpmodule,Configuration,Iis 7,Httpmodule,(我不知道是否也应该将此问题发布到ServerFault,因为这是关于IIS配置的问题?) <add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read" /> 在IIS7中,我们可以通过以下方式告知模块为托管内容运行(从而加速静态内容服

(我不知道是否也应该将此问题发布到ServerFault,因为这是关于IIS配置的问题?)

<add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read" />
在IIS7中,我们可以通过以下方式告知模块为托管内容运行(从而加速静态内容服务):

<add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read" />

...

删除
premission=“managedHandler”
或添加
就可以了。的“”部分包含更多信息。

您可以使用,但使用托管处理程序处理所有请求效率低下。如果合适,静态处理程序的效率会更高。

问题在于请求处理顺序。IIS7按照IIS的Handlers配置元素指定的顺序处理请求。默认情况下,IIS配置的Handlers元素包含

<add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read" />

就是一个例子。

之所以使用premission=“managedHandler”,是因为它加快了静态内容交付。这是一个糟糕的解决方法,而不是一个解决方案。我一开始就删除了这个设置。我以为你想让它为静态内容运行,但我发现我误解了你的问题。如果您将静态内容存储在一个单独的目录中,请在其中放置一个web.config以删除有问题的模块。我通常使用一个文件夹,只是把静态内容放在我需要的模块中。如果内容在你的文件夹中混合了怎么办?出于这个原因,我更喜欢将静态内容分开。没什么帮助,我知道:)。你说“我看不出有什么不同”是什么意思?是否在指定默认值时有效?是否更改默认文档设置没有区别。
<add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read" />
<add name="PageHandlerFactory-Folders" path="*" verb="*" type="System.Web.UI.PageHandlerFactory" modules="ManagedPipelineHandler" resourceType="Unspecified" requireAccess="Read" allowPathInfo="false" preCondition="integratedMode" />