【问题标题】:Web Api hosted on IIS 7.5 with routing parameters带有路由参数的 IIS 7.5 上托管的 Web Api
【发布时间】:2014-02-10 18:11:41
【问题描述】:

我有一个在 VS2012 MVC 4 WebApi 中开发的 WebApi。在 VS 的 IISExpress 上本地运行时效果很好。但是,一旦我部署到 IIS 7.5,IIS 似乎无法理解 uri 中的参数。 WebApiConfig.cs 路由看起来是这样的:

config.Routes.MapHttpRoute(
name: "CourseOffering",
routeTemplate: "course/courseoffering/{schoolcode}/{markingperiod}/{schoolyear}",
defaults: new { controller = "courseoffering", schoolyear = RouteParameter.Optional }

这个 uri 在 IIS Express 上工作:http://localhost:4600/course/courseoffering/3167/s2

我在 IIS 上创建了一个名为 PPS.Api.Course 的新站点,当我浏览它 (http://localhost:85/PPS.Api.Course) 时,我得到了预期的“欢迎使用 ASP.NET Web API!”页。但是,当我浏览到http://localhost:85/PPS.Api.Course/course/courseoffering/3167/s2(并且我已经尝试过http://myservername:85/PPS.Api.course/course/courseoffering/3167/s2)时,我收到一个错误“无法从本地主机下载 s2。无法打开此 Internet 站点。” 如何修复我的路由和/或 IIS 以获取要识别的 uri 中的参数?

【问题讨论】:

    标签: asp.net-mvc-4 asp.net-mvc-routing asp.net-web-api2


    【解决方案1】:

    如果你在 IIS 上托管它,你的网站应该是:

    http://localhost:85/
    

    Thefore 基于你的路由模板:

    "course/courseoffering/{schoolcode}/{markingperiod}/{schoolyear}"
    

    您的 Web Api URL 应该是这样的:

    http://localhost:85/course/courseoffering/3167/s2
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-09
      • 2017-08-30
      • 1970-01-01
      • 2012-03-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多