【发布时间】:2017-09-07 16:34:06
【问题描述】:
我有一个定义了以下方法的 ashx 文件:
public void ProcessRequest(HttpContext context) ...
我想将其中的代码移动到 MVC 控制器中。所有代码都可以在 MVC 控制器中按原样轻松运行,但我不确定是否需要以特定方式编写它才能以相同方式调用。我尝试了以下方法:
[HttpPost] //in the TestController
public void Index()
{
var context = HttpContext;
....
但它没有在第一行达到我的断点。是否有另一种方法我需要设置它以便复制被称为 ProcessRequest 在 ASHX 文件中被调用?
编辑:这是我的路线配置:
routes.MapRoute(
name: "Test",
url: "test/{action}",
defaults: new { controller = "Test", action = "Index" }
);
【问题讨论】:
-
检查您的路由并确保您的帖子正在访问控制器/操作。客户端调用的url是什么?
-
只是控制器的根目录,因为它是索引,并且默认使用索引指定路由。我编辑了帖子以添加路线。
-
您可以使用 Fiddler 或 Postman 手动发布到该端点吗?如何调用端点?您可以创建一个 GET Index 操作并通过 url 浏览到它吗?如果您可以手动访问它,那么问题在于客户端调用。
-
问题在于调用它的应用程序是在进行 GET,而不是像我错误地假设的那样进行 POST。
标签: asp.net-mvc ashx