1

我有一个在 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)时,我收到一条错误消息“无法从 localhost 下载 s2。无法打开此 Internet 站点。” 如何修复我的路由和/或 IIS 以获取要识别的 uri 中的参数?

4

1 回答 1

1

如果您在 IIS 上托管它,您的站点应该是:

http://localhost:85/

因此基于您的路由模板:

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

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

http://localhost:85/course/courseoffering/3167/s2
于 2014-02-10T21:27:22.397 回答