Asp.net mvc 4 承载在IIS 7.5上的Web Api,带有路由参数

Asp.net mvc 4 承载在IIS 7.5上的Web Api,带有路由参数,asp.net-mvc-4,asp.net-mvc-routing,asp.net-web-api2,Asp.net Mvc 4,Asp.net Mvc Routing,Asp.net Web Api2,我有一个在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}", d

我有一个在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中的参数以进行识别?

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

http://localhost:85/
基于路由模板的存储:

"course/courseoffering/{schoolcode}/{markingperiod}/{schoolyear}"
您的Web Api URL应如下所示:

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