ASP.Net WebApi MapHttpRoute适用于Visual Studio,但不适用于WebForm应用程序中的IIS

时间:2015-04-23 23:01:59

标签: c# iis asp.net-web-api webforms asp.net-web-api-routing

我在Application_Start的{​​{1}}中有一条这条简单的路线:

Global.asax

这是控制器的文件夹路径和想要从控制器使用的页面:

enter image description here

当我在visual studio中运行项目时,它工作正常,但是当我在iis上发布应用程序时,我看到了这个错误:

RouteTable.Routes.MapHttpRoute("MyApi", "api/{controller}/{id}");

更新

这是我的控制器的内容:

Failed to load resource: the server responded with a status of 404 (Not Found)

我通过将html5视频标记放在public class VideoController : ApiController { public HttpResponseMessage Get(long id) { try { // some code here } catch (Exception e) { return Request.CreateErrorResponse(HttpStatusCode.ServiceUnavailable, e); } } } 下的此路径来调用此控制器:

default.aspx

WebContent/pages/web/default.aspx

我该如何解决这个问题呢。

2 个答案:

答案 0 :(得分:0)

这一行可能就是问题所在。

<source src="/api/video/3" type="video/mp4">

如果您使用Visual Studio本身在IIS上托管应用程序,它通常会在您的默认网站下的网络应用程序下托管它,您的网址将如下所示http://localhost/youappname/

尝试将您的网址更改为

<source src="/yourAppnameinIIS/api/video/3" type="video/mp4">

如果你还没有尝试过,它值得一试。

答案 1 :(得分:0)

path="*."文件中设置verb="*"web.config