c# - 调用处理程序而不在 URL 上指定 ashx 文件?
问题描述
我有一个叫HandlerGeoserver
如果我localhost:55000/HandlerGeoserver.ashx
在运行时调用一切正常。我需要HandlerGeoserver.ashx
从 URL 中删除文本,并使请求由处理程序处理。
localhost:55000/
开火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>
这是我找到的最简单、最有效的解决方案。
推荐阅读
- amazon-cloudformation - 遇到不支持的属性 ComparisonOperator
- java - 用于导入 excel 工作表然后将其存储到 servlet 中的 DB 的省时程序
- dataframe - 如何使用pyspark数据框的withColumn动态放置条件。?
- vb.net - Telerik radgridview 分页
- r - 表 R Markdown qwraps2 和 knitr::kable。缺少列
- macos - aws2 命令在写入 .command 文件并使用 crontab 计划时不起作用
- android - android ANR BillingClient.queryPurchases
- jquery - 重力形式的 Wordpress 水平字段
- c# - 如何修复 C# 中 XPathDocument 使用中的 XXE 漏洞?
- python - 我想将 db 句柄从我的 perl 脚本传递给我的 python 脚本