在 URL 上调用处理程序而不指定 ashx 文件?
Call handler without specifying ashx file on URL?
我有一个名为 HandlerGeoserver
的处理程序
如果我在运行时调用 localhost:55000/HandlerGeoserver.ashx
,一切正常。我需要从 URL 中删除 HandlerGeoserver.ashx
文本,并让处理程序处理请求。
localhost:55000/
fires the HandlerGeoserver.ashx
这可能吗?
如果不是,我考虑的一个选项是通过web.config设置路由/
路由到handlerGeoserver.ashx
,但不知道这是否可能.
我考虑的另一个选择是将处理程序与 webapi 结合起来,这样当从 api (localhost:55000/
) 调用路由时,控制器将调用重定向到处理程序。您认为这可能是一个很好的近似值吗?
终于解决了在我的 web.config
上创建重写规则的问题,如下所示:
<rewrite>
<rules>
<rule>
<match url="/" />
<action type="Rewrite" url="HandlerGeoserver.ashx" />
</rule>
</rules>
</rewrite>
这是我找到的最简单有效的解决方案。
我有一个名为 HandlerGeoserver
如果我在运行时调用 localhost:55000/HandlerGeoserver.ashx
,一切正常。我需要从 URL 中删除 HandlerGeoserver.ashx
文本,并让处理程序处理请求。
localhost:55000/
fires theHandlerGeoserver.ashx
这可能吗?
如果不是,我考虑的一个选项是通过web.config设置路由
/
路由到handlerGeoserver.ashx
,但不知道这是否可能.我考虑的另一个选择是将处理程序与 webapi 结合起来,这样当从 api (
localhost:55000/
) 调用路由时,控制器将调用重定向到处理程序。您认为这可能是一个很好的近似值吗?
终于解决了在我的 web.config
上创建重写规则的问题,如下所示:
<rewrite>
<rules>
<rule>
<match url="/" />
<action type="Rewrite" url="HandlerGeoserver.ashx" />
</rule>
</rules>
</rewrite>
这是我找到的最简单有效的解决方案。