Asp.net mvc 4 ASMX服务在MVC项目中不起作用

Asp.net mvc 4 ASMX服务在MVC项目中不起作用,asp.net-mvc-4,asmx,Asp.net Mvc 4,Asmx,我知道有很多问题和答案是关于如何忽略路由以便让ASMXWeb服务在MVC项目中工作。然而,它们都不适合我 我的Web服务是~/WebService1.asmx 以下工程均不适用: routes.IgnoreRoute("{*url}", new { url = @".*\.asmx(/.*)?" }); routes.IgnoreRoute("WebService1.asmx/{*pathInfo}"); routes.IgnoreRoute("{*pathInfo}"); 我以为第三个会允许

我知道有很多问题和答案是关于如何忽略路由以便让ASMXWeb服务在MVC项目中工作。然而,它们都不适合我

我的Web服务是~/WebService1.asmx

以下工程均不适用:

routes.IgnoreRoute("{*url}", new { url = @".*\.asmx(/.*)?" });
routes.IgnoreRoute("WebService1.asmx/{*pathInfo}");
routes.IgnoreRoute("{*pathInfo}");
我以为第三个会允许一切

我可以访问WebService1.asmx,WebService1.asmx?op=HelloWorld,但实际的方法WebService1.asmx/HelloWorld会得到404

我一定错过了一些基本的东西。可能是什么

- 示例请求:

POST http://localhost:64822/WebService1.asmx/HelloWorld HTTP/1.1
Accept: */*
Referer: http://localhost:64822/WebService1.asmx?op=HelloWorld
Accept-Language: en-US,en;q=0.8,zh-Hans-CN;q=0.5,zh-Hans;q=0.3
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.2; WOW64; Trident/6.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729; InfoPath.3)
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Content-Length: 0
DNT: 1
Host: localhost:64822
Pragma: no-cache
Cookie: Tx=1872

PS:如果有任何意义的话,我使用的是HotTower模板。

您是使用get或POST获得404吗?您的意思是您在MVC项目中有ASMX服务?这是怎么回事?WebAPI将是正确的答案。如果您只是试图访问Web服务,如果您要从操作访问它,可以使用jquery调用Web服务或HttpWebRequest。@DaveHogan:GET和POST都失败。我已经在上面发布了一个示例请求。