1

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

我的 WebService 是 ~/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:我正在使用 HotTowel 模板,如果这有任何意义的话。

4

0 回答 0