Asp.net mvc 如何为以经典模式运行的池支持WebApi2 URL中的点

Asp.net mvc 如何为以经典模式运行的池支持WebApi2 URL中的点,asp.net-mvc,iis-7,iis-6,asp.net-web-api2,Asp.net Mvc,Iis 7,Iis 6,Asp.net Web Api2,我需要在URL中支持点,例如http://myserver/product/find?name=the.product.name用于在经典模式下运行的池 这里有很好的问题和答案: 但它们都不适用于以经典模式运行的应用程序池 我试过: … … … 它们都不是经典的 唯一的不可接受的解决方法似乎是,如果点在URL中,则添加一个尾随的/,如果点在参数中,则添加一个额外的参数: http://myserver/product/find.all/ http://myserver/product

我需要在URL中支持点,例如
http://myserver/product/find?name=the.product.name
用于在经典模式下运行的池

这里有很好的问题和答案:

但它们都不适用于以经典模式运行的应用程序池

我试过:

  • 它们都不是经典的

    唯一的不可接受的解决方法似乎是,如果点在URL中,则添加一个尾随的
    /
    ,如果点在参数中,则添加一个额外的参数:

    • http://myserver/product/find.all/
    • http://myserver/product/find?name=the.product.name&useless=1

    我无法切换到集成模式。

    请尝试为classicMode设置正确的处理程序

      <handlers>
        <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit"/>
        <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" 
          path="*" 
          verb="GET,HEAD,POST,DEBUG,DELETE,OPTIONS" 
          modules="IsapiModule" 
          scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" 
          preCondition="classicMode,runtimeVersionv4.0,bitness32" 
          responseBufferLimit="0" />
    
        <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit"/>
        <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" 
          path="*" 
          verb="GET,HEAD,POST,DEBUG,DELETE,OPTIONS" 
          modules="IsapiModule" 
          scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" 
          preCondition="classicMode,runtimeVersionv4.0,bitness64" 
          responseBufferLimit="0" />
      </handlers>