经典模式下httphandler的配置

经典模式下httphandler的配置

我必须安装一个需要在经典模式下运行的 httphandler。我在 iis 上创建了一个使用经典应用程序池的应用程序,并将处理程序集放在那里。

供应商在部署文档中给了我如下配置:

<system.web>
   <globalization requestEncoding="iso-8859-1" responseEncoding="iso-8859-1" />
   <httpModules>
   </httpModules>

   <httpHandlers>
      <add verb="*" path="*" type="ProductName.ProductName, ProductName" />
   </httpHandlers>

</system.web>
<system.webServer>
   <validation validateIntegratedModeConfiguration="false"/>

   <handlers>
      <add name="someUnspecificName" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
   </handlers>

</system.webServer>

我在应用程序上请求 URL 时收到的错误是 404,所以我猜测该句柄根本没有被使用。

对于 64 位系统来说,配置看起来可以吗?

答案1

你确定

<httpHandlers>
   <add verb="*" path="*" type="ProductName.ProductName, ProductName" />
</httpHandlers>

您的供应商告诉您使用path="*"

httphandler 的 path 属性指定将调用此处理程序的 URL 的路径或通配符规范。

例如,如果您希望仅在请求文件时调用处理程序dummy.abc,则路径属性将包含“dummy.abc”;同样,如果您希望为任何具有 .abc 扩展名的文件调用处理程序,则路径属性将包含“*.abc”。


编辑

这篇文章可能会有帮助:请求限制对话框

使用“请求限制”对话框指定可选限制,例如您希望处理程序处理请求时所请求的资源类型或 HTTP 动词。仅当您有特定需要限制处理程序处理请求的条件时才配置限制。当您不配置限制时,处理程序将处理请求,而不管请求的资源类型和指定的 HTTP 动词如何。

我认为您必须禁用现有默认处理程序的限制(“仅当请求映射到时才调用处理程序”)。

相关内容